【4】策略模式

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

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

相关推荐
钱栈up3 天前
从 macOS 切回 Windows,我用 5 个免费工具把 80% 操作习惯搬了回来
windows·macos·策略模式
kunicoding5 天前
C++ 策略模式实战:写一个可以“一键换输出“的日志系统
开发语言·c++·策略模式
峥嵘life6 天前
Android16 开机后立即打开相机闪退问题分析与解决总结
android·开发语言·数码相机·策略模式
智慧城市20307 天前
关键供应商连续交付不合格批次,说明质量风险可能持续存在。企业需要建立“批次隔离、加严检验、驻厂遏制、复检放行、供应商升级”的处置闭环,同时统筹保供。
数据分析·策略模式·战略咨询·流程管理
happy_baymax8 天前
Dell G3 3590 黑苹果实战:OpenCore 1.0.8 + NullMoth 驱动让 GTX 1660 跑起 Metal
策略模式
遇码8 天前
macOS 触摸板捏合在 GPUI 里无响应:vendor 打补丁,把手势合成为 cmd+滚轮事件
rust·图形渲染·策略模式·桌面应用·gpui
mmsx9 天前
Android 架构分层:MVVM 与 MVP 共存,网络层怎么切
android·策略模式·mvvm·mvp
博风9 天前
7、设计模式应用举例:策略模式:加密、解密文件
设计模式·策略模式
mmsx9 天前
Android 本地优先的三级语义理解降级链
android·数码相机·策略模式
早点睡觉好了9 天前
LangChain 源码入门 02:消息、ChatPromptTemplate 与 Chat Model 调用链
ai·langchain·策略模式