美文网首页
HeadFirst设计模式-策略模式

HeadFirst设计模式-策略模式

作者: testreader | 来源:发表于2018-04-21 15:34 被阅读0次

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

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

    3)多用组合,少用继承

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

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

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

    相关文章

      网友评论

          本文标题:HeadFirst设计模式-策略模式

          本文链接:https://www.haomeiwen.com/subject/atmxlftx.html