HeadFirst设计模式-策略模式

2018-04-21  本文已影响0人  testreader

设计原则:1) 封装变化的部分    

2) 针对接口编程,而不是针对实现变成

3)多用组合,少用继承

设计模式: 策略模式:定义算法族(将变化的抽取为算法),让他们彼此可以替换(继承相同的接口)。

            优点:将算法变化独立于使用算法的客户,使用者无需关心具体的行为只需要调用相应的方法,方法的具体实现由算法族提供实现。

例子:本文以鸭子为例,这里鸭子内部的display、fly、quack方法不同类型鸭子会有相应变化。因此利用策略模式,将鸭子变化的行为以组合的方式结合到抽象Duck。这里Duck用抽象类而不是接口,为了公用共同的属性,方法,并且在子类中明确变化的行为。

上一篇 下一篇

猜你喜欢

热点阅读