知识卡片

三种业务变化各自对应可插拔的修改点

普通读书笔记卡 · 1853.a.9.b

内容

[[门面模式封装策略选择逻辑对外屏蔽扣款子系统复杂度]]这套”策略+工厂+门面”组合的 价值要用业务变化检验:新增/修改扣款策略只需实现接口、加枚举配置,不碰已有策略类; 变更”策略利用规则”只需改门面的判断逻辑,不影响策略本身。发散:投产后业务要求对退休 员工用不同扣款规则,实际做法正是”新增策略类+判断逻辑加一条分支”,两个局部修改点独立 生效,印证了可插拔目标。

参考来源

- 位置:《设计模式之禅(第2版)》第35章《工厂方法模式+策略模式》35.2节(源文件:_epub-src/text/part0154.html) - 结论依据:原文列出"扣款策略变更"和"变更扣款策略的利用规则"两类变化各自的修改范围,并给出真实投产后的变更案例:"系统投产后,业务提出考虑退休人员的情况……系统的变更做法是增加一个扣款策略,同时扩展扣款利用策略……在getDeductionType中新扩展了一个功能:根据IC卡号,确认是否是退休人员,是退休人员,则使用新的扣款策略,这是一个非常简单的扩展"。 - 原始内容:增加一个新扣款策略,三步就可以完成:实现IDeduction接口,增加StrategyMan配置项,扩展扣款策略的利用……系统投产后,业务提出考虑退休人员的情况……系统的变更做法是增加一个扣款策略,同时扩展扣款利用策略……在getDeductionType中新扩展了一个功能:根据IC卡号,确认是否是退休人员,是退休人员,则使用新的扣款策略,这是一个非常简单的扩展。