书中第一个设计模式是策略模式:
书中以模拟鸭子应用问题作为实例,一款游戏应用中要求有各种各样的鸭子。
先用继承来实现了这一个应用,其设计如下:
这个设计主要是以Duck类作为基类,后面所有的鸭子类均以此类派生而来,刚开始在应用还不是很复杂的时候,似乎还没有什么问题,但当派生出来的类(鸭子的类型)越来越多时,问题就出现了。并不是所有的鸭子都会飞的,比如像皮鸭子就不会飞。也不是所有的鸭子都会呱呱叫,也有鸭子吱吱叫。也许你会说,我可以在派生类中重写基类的方法,从而