用接口来实现行为,就可以方便添加行为
这个行为也很好复用
因为你如果在超类里面定义了方法,所有子类都要去实现,很麻烦
策略模式:分别封装行为接口,实现算法族,超类里放行为接口对象,在子类具体设定行为对象。原则就是分离变化部分,封装接口,基于接口编程各种功能,此模式让行为算法的变化独立于算法的使用者。
注意点:
1 分析项目中变化部分与不变化部分
2 多用组合少用继承;用行为类组合,而不是行为的继承。更有弹性。
3 设计模式没有相应的库。
用接口来实现行为,就可以方便添加行为
这个行为也很好复用
因为你如果在超类里面定义了方法,所有子类都要去实现,很麻烦
策略模式:分别封装行为接口,实现算法族,超类里放行为接口对象,在子类具体设定行为对象。原则就是分离变化部分,封装接口,基于接口编程各种功能,此模式让行为算法的变化独立于算法的使用者。
注意点:
1 分析项目中变化部分与不变化部分
2 多用组合少用继承;用行为类组合,而不是行为的继承。更有弹性。
3 设计模式没有相应的库。