请教 DDD 对于单 Service 接口的多实现处理问题

2023-01-02 17:59:35 +08:00
 lbllol365

在看极客时间的《设计模式之美》,看到 12:实战一个虚拟钱包。

想到一个问题:贫血模型的一个 Service 接口的多个实现类,业务逻辑是在实现类里的。而 DDD 是把业务逻辑抽到了 domain 里,那这多个实现类都要抽一套 domain 出来?然后这些 domain 抽一个抽象类或者父类出来?

2092 次点击
所在节点    程序员
3 条回复
Muzhijiao
2023-01-02 21:38:28 +08:00
对的,这个抽象类还是 domain
thinkershare
2023-01-03 01:31:52 +08:00
DDD 并不是将业务逻辑都抽象到 Domain 里面,只是将 Domain 业务逻辑和 Application 业务逻辑做了分离. 另外 DDD 只是为了让 OO 回到他本来的面目罢了, 和他对应的是事务脚本. DDD 那套规则核心还是从聚合根出发的事务一致性规则. 其它方面应用的都是常用的面向对象设计的经典模式.
litchinn
2023-01-03 10:21:55 +08:00
楼上说的非常好了,针对`让 OO 回到他本来的面目`做一点具体化的补充,`多个实现类都要抽一套 domain 出来`,除了继承实现还有包含成员变量的形式,这个完全看实际的业务定义,木工和钳工都会用锤子敲,这是因为他们都是工人呢,还是因为他们工具里都有锤子呢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/906085

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX