设计模式: 策略模式

设有一基类Duck, 因为要添加新功能所以可能要修改基类, 其中可能遇到的问题有:

1. 代码在子类中重复.

2. 很难知道所有子类的全部行为.

3. 改变会牵一发而动全身, 造成其他子类不必要的改变.

解决方法为:

1. 找出应用中可能要变化之处, 把它们独立出来

2. 将可能变化的行为设计为接口, 而不是在类中实现它们

3. 多使用类似接口的组合而不是继承


示例:



原文地址:https://www.cnblogs.com/wuOverflow/p/4098698.html