策略模式:
定义算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于算法的客户。
OO原则:
封装变化
多用组合,少用继承
针对接口编程,不针对实现编程
书中例子:
鸭子的类不实现飞、叫的接口,飞、叫的接口的实现由另外的类进行继承并实现,鸭子只是在类中声明接口变量指向行为的具体实现。
心得:
使用接口有所好处但是有可能会让我们过分依赖于实现,为了使代码更有复用性,以及后期可以更好的托张,可以使用组合的方法。