包含的内容:
-
domain层中的领域对象(有状态)用于封装领域逻辑。领域逻辑指仅与该领域对象实例相关的业务逻辑;分析层面的概念;
-
service层中的领域服务(无状态)用于封装应用逻辑,可以看做是domain对象的管理者。应用逻辑指与多个领域对象实例(既可以是同类型的多个领域对象实例,也可以是不同类型的多个领域对象实例)相关的业务逻辑;设计层面的概念;
-
dao层中的数据访问对象(无状态)封装领域对象的持久化逻辑;设计层面的概念;
依赖关系:
-
简单情况下,service直接依赖domain和dao;dao也直接依赖domain,但domain不依赖于dao。domain既封装领域逻辑,也用于不同逻辑层次间的对象传递;
-
复杂情况下,为避免依赖混乱及解决不同层次的对象结构不匹配,可再引入dto和entity(都是值对象),分别用于controller与service、service与dao之间的对象传递。
参考: