定义
将可变的部分封装为算法,独立于使用算法的客户端,算法之间可以相互替换而且不影响客户端的实现。
类图

Hero
客户端类
Weapon
算法
设计原则
- 封装变化(这里的变化指的是算法,
Weapon
),想象以下如果使用继承而不是组合会出现什么情况。 - 针对接口编程,而不是实现编程
- 多用组合,少用继承
将可变的部分封装为算法,独立于使用算法的客户端,算法之间可以相互替换而且不影响客户端的实现。
Hero
客户端类
Weapon
算法
Weapon
),想象以下如果使用继承而不是组合会出现什么情况。本文标题:策略模式
本文链接:https://www.haomeiwen.com/subject/upozkqtx.html
网友评论