知识卡片

放弃策略模式改用服务外观注入多个领域服务

普通读书笔记卡 · 1975.y

内容

薪资计算最初考虑策略模式统一抽象不同雇员类型算法,但因不同PayrollCalculator需注入不同雇员聚合对应的资源库适配器(工厂无法做到),故改为将PayrollCalculator当作服务外观,同时注入多个具体领域服务,内部按雇员类型分支调用,牺牲多态换取依赖注入的可行性。

参考来源

- 位置:《解构领域驱动设计》17.3.3(源文件:_epub-src/OEBPS/029.xhtml) - 结论依据:说明依赖注入约束下对设计模式选型的取舍。 - 原始内容:之所以如此设计,是对依赖注入领域服务、资源库的考虑……上述实现并未采用多态类保证代码的可扩展性,然而,参与协作的每个角色构造型履行的职责却是单一而清晰的。