你的位置:首页 > 软件开发 > ASP.net > 设计模式学习——策略模式(Strategy Pattern)

设计模式学习——策略模式(Strategy Pattern)

发布时间:2015-09-09 23:00:03
0. 前言  最近在重构公司的一个项目的时候,在抽取DES加密重复部分代码的时候,突然间想起了策略模式,感觉策略模式好像可以应用上,于是重新学习了下策略模式。注:在DES加密中,有DES和TDES算法,其中又有各种分组模式,如EBC,CBC等。1. 定义  引用百度定义:策略模式 ...

0. 前言

  最近在重构公司的一个项目的时候,在抽取DES加密重复部分代码的时候,突然间想起了策略模式,感觉策略模式好像可以应用上,于是重新学习了下策略模式。注:在DES加密中,有DES和TDES算法,其中又有各种分组模式,如EBC,CBC等。

1. 定义

  引用百度定义:策略模式,定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。

2. 应用

  这里的例子参考了《Head First Design Pattern》中的游戏角色装备切换的例子。

  在角色游戏中,每个角色都可以切换武器,这里,对于程序来说,武器是变化的,将武器隔离开,角色只保留着一个武器槽即可。

  如下UML图:

  设计模式学习——策略模式(Strategy Pattern)

  示例程序:

角色基类:

package StrategyPattern;public abstract class Character {  private Weapon weapon;    public void setWeapon(Weapon weapon) {    this.weapon = weapon;  }    public void fight( )  {    weapon.useWeapon();  }}

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:设计模式学习——策略模式(Strategy Pattern)

关键词:设计模式

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。