策略模式

策略模式

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

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

Strategy Pattern类图示例
  • Character为抽象类,实现setWeapon()方法。
  • King, Queen, Knight, Troll继承Character,通过setWeapon()切换武器
  • 在打斗过程中,调用当前武器的useWeapon()方法,攻击其他角色
  • 所有的实际角色与武器行为为具体类
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容