策略模式STRATEGY
分别封装行为接口,实现算法族,父类里面放行为接口,在子类里具体设定行为对象。
原则就是:
分离变化接口,封装接口,基于接口编程各种功能
如果我们不使用策略模式
使用extends的方式,在父类里面做2种行为:
①只写方法不实现
②写方法并实现
子类继承父类以后,如果需要手动实现的,有一些是重复的,有些则是不重复的,细粒度偏高,这样写起来效果不好
而写了方法并实现的,同样,有的子类需要重写,有的不用重写,细粒度还是偏高
于是乎,我们采用策略模式,编写接口,实现所有行为的实现类,然后子类需要哪个就继承父类,然后注入实现类即可
由于这个比较简单,就不写demo了
在实际写代码的时候,到处都是策略模式,面向接口编程罢了