设计模式: 策略模式
设有一基类Duck, 因为要添加新功能所以可能要修改基类, 其中可能遇到的问题有:
1. 代码在子类中重复.
2. 很难知道所有子类的全部行为.
3. 改变会牵一发而动全身, 造成其他子类不必要的改变.
解决方法为:
1. 找出应用中可能要变化之处, 把它们独立出来
2. 将可能变化的行为设计为接口, 而不是在类中实现它们
3. 多使用类似接口的组合而不是继承
示例:
设有一基类Duck, 因为要添加新功能所以可能要修改基类, 其中可能遇到的问题有:
1. 代码在子类中重复.
2. 很难知道所有子类的全部行为.
3. 改变会牵一发而动全身, 造成其他子类不必要的改变.
解决方法为:
1. 找出应用中可能要变化之处, 把它们独立出来
2. 将可能变化的行为设计为接口, 而不是在类中实现它们
3. 多使用类似接口的组合而不是继承
示例:
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步