设计模式的通病
increase the number of classes
设计模式如何促进沟通
概念的力量很强大,和同行用某种特定的设计模式术语交流,双方会很快地相互理解。
构建某些类,仅仅用来表示某些behavior?
不合适,应该用抽象接口,让类去继承这些。
应对软件change
第一要封装变化,对于存在改变的代码要封装,控制变更范围。
另外要遵循开闭原则:不改动原有的代码,同时又支持新增代码
如何让玩具鸭继承带有fly属性的duck父类
使用策略模式,不应该将fly方法作为duck父类的成员方法,不然如果玩具鸭类继承了duck属性的话,还要为fly方法写一个空值,使其失效。