目录
策略模式
Strategy
- Comparable
- Comparator
一、引述
选择排序实现
此时实现了对int数组的排序
- Q1 如果要扩大到Double数组或者其他类型如何实现?
- Q2 如何实现比如猫对象的大小比较
二、Comparable 通用性
在各个类中自行实现Comparable方法
泛型实现
三、Comparator 比较策略
实现不同策略的比较
四、策略模式的使用
根据需求增加新的Comparator,比较的时候传入即可
坦克开火
- 默认策略 一颗炮弹
- 四个方向同时打出炮弹
- 穿甲弹
- 燃烧弹
......
默认开火Strategy
执行开火的时候传入FireStrategy,fire(FireStrategy s)每次被调用的时候都需要new 对应的FireStrategy,应该把DefaultFireStrategy 做成Singleton成员变量
也可以继续生成其他的FireStrategy,比如地方坦克只能朝一个方向发射,我方坦克可以同时朝四个方向发射