策略模式

策略模式

定义算法族,分别封装起来,让他们可以相互替换,此模式让算法的变化独立于使用算法的客户。

以下以一个动作冒险游戏举例。游戏中有不同的角色,不同的角色使用不同的武器,一次只能使用一种武器,但是可以切换武器(想到了大菠萝?)。

策略模式_第1张图片
Strategy Pattern类图示例
  • Character为抽象类,实现setWeapon()方法。
  • King, Queen, Knight, Troll继承Character,通过setWeapon()切换武器
  • 在打斗过程中,调用当前武器的useWeapon()方法,攻击其他角色
  • 所有的实际角色与武器行为为具体类

你可能感兴趣的:(策略模式)