“Head First 设计模式“ :策略模式

策略模式 问题的描述: 需求:开发一个鸭子游戏,能游泳,有外观,实现类图如下: 增加的需求: 1. 加入飞行功能 2. 加入呱呱叫的功能。。。等等,暂时的解决方式如下: 上线后出现了些问题: 1. 所有的鸭子都能叫吗?木头鸭子呢? 2. 所有的鸭子都能飞吗?木头鸭子呢?橡皮鸭子呢? 总结下,使用继承的缺点: 代码在多个子类中重复 运行时的行为不容易改变 很难知道鸭子的全部行为 改变会牵一发动全身,
相关文章
相关标签/搜索