作者回复: 困难一:两种用法都有,关键还是分清什么逻辑应该放在应用层,什么逻辑应该放在领域层。这个问题分清了,答案自然就有了。一句话:要和不懂开发的业务人员讨论的逻辑,就是领域逻辑,放在领域层;否则放在应用层。 困难二:可以。 困难三:从松耦合的角度,尽量不互相依赖,但是原则上没有不让依赖的限制,实在要依赖的话也可以。
作者回复: 一:抽象类是一种可行的方法,这是“继承”的思路;另一种是“组合”的思路,也就是有一个仅仅用于远程访问的接口,它的实现在适配器,把您说的领域逻辑放在另一个单独的领域服务,这个领域服务调用刚才的远程访问接口。一般来说,组合优于继承。 二:模块就是包的另一种说法,不太理解您说的“模块下的包”是什么意思。另外,您问了几个“逻辑是一样的吗?”,这里不知您说的“一样”具体是什么含义,所以无法回答。最好还是拿实际例子来谈。
作者回复: 这。。。您最好问他
作者回复: “通用”指的是概念上的通用。“复用”指的是代码上的复用。不在同一个层面。通用域的例子,书里举了组织结构图和会计,另外,我认为工作流引擎也算。
编辑回复: draw.io