【4】策略模式

如上图所示,如果要加入一个新的货币,那么就需要对类中的Calculate函数进行修改,这违背了封闭开放原则。

上图中的方式更加合适,搞一个抽象类(方法中可以用多态调用),然后每个货币自己是一个类(拥有自己的不同实现)。在上面的这种实现中,如果新加入一个法国货币,那么只需要加一个法国货币的类,并完成自己的实现即可,不需要改变其他任何类。

相关推荐
AIex-YH1 天前
菌种工艺四讲(三):育种工具不是“越新越好“,是“越匹配越好“
制造·策略模式
起司喵喵1 天前
Flutter-MacOS桌面OS系统|flutter.+window_manager客户端OS模板
flutter·macos·策略模式
啊真真真1 天前
macOS下libnfc ..写卡失败问题及解决方案
macos·策略模式
Eric Woo X3 天前
macOS 旧版本无法启动 Steam ?一条命令恢复运行(2026年7月实测)
macos·策略模式
张小姐的猫11 天前
【Linux】网络编程 —— HTTP协议(上)
linux·运维·服务器·网络·http·单例模式·策略模式
笨拙的老猴子17 天前
小明学架构师的第七课:策略模式:告别if-else的选择困难症
系统架构·策略模式
肖爱Kun18 天前
C++设计策略模式
开发语言·c++·策略模式
折哥的程序人生 · 物流技术专研19 天前
Java 23 种设计模式:从踩坑到精通 | 番外:策略 vs 模板方法 —— 组合与继承的终极对决
java·策略模式·java面试·comparator·模版方法模式·java设计模式·从踩坑到精通
折哥的程序人生 · 物流技术专研19 天前
Java 23 种设计模式:从踩坑到精通 | 番外:状态 vs 策略 —— if-else 消除的两条路,你走对了吗?
java·spring·状态模式·策略模式·java面试·java设计模式·从踩坑到精通
ttod_qzstudio21 天前
【软考设计模式】策略模式:算法族的封装与动态切换精讲
设计模式·策略模式