01.领域驱动设计 - 基础概念
2011-03-27 14:50
225 查看
领域概念:领域即是业务。
领域模型概念:通过对象以及对象之间的关联关系的代码。
实体(Entity):需要一个固定的标识记录一条信息。
值类型(Value Object):无需固定标识记录信息。
四层结构:UI、Business Logic、Domain Object、Service,每层之间只之上调用,不允许Service 调用Domain Object信息。层与层之间通过接口进行访问,通过Ioc技术实现层之间的隔离。
聚合根:一组对象之间的聚合,一个业务场景当中提取一个聚合根,聚合内的对象访问只能通过聚合根进行。
领域的四种模型:
1 贫血模型
1) 只包含get/set 属性
2) 包含:Service、Dao、Domain
2 失血模型
1) 包含get/set属性
2) 包含domain Logic,不引用其它层,包含的Logic 只限定跟当前的 domain object 有关
3) 包含:Service、Dao、Domain(包含 domain logic)
3 充血模型
1) 包含get/set 属性
2) 包含domain Logic
3) 包含business object,合并大部分 domain Logic,business object,仍然包含Service 但是Service 主要负责跟持久化层进行通信
4) 包含:Service(很少的逻辑)、Dao、Domain(包含 domain logic、business logic)
4 胀血模型
1) 包含get/set 属性
2) 合并domain Logic,business logic
3) 包含:Dao、Domain
5 失血模型变种
1) 包含get/set属性
2) 包含domain Logic,不引用其它层。包含的Logic 只限定跟当前的 domain object 有关。Service 与Dao 合并。如果逻辑比较简单,数据库操作比较简单CRUD的话,合并。
3) 包含:Service、Domain
领域对象提取方法:四色原型。
1) 使用四色原则是为了更好的提取领域对象,分析客观世界。
2) 世界上所有的东西都是由“物质”以及“相互作用”所组成。
a) 物质是:不以人的意识形态而改变的客观存在。
b) 相互作用是:我们理解的各种活动,比如打架,聊天等。
3) 四色原型:
a) 时刻时间段原型(MI)
b) 参与地点事件原型(PPT)
c) 描述原型(Desc)
d) 角色原型(Role)
e) 例子:什么什么样的人或物以某种角色在什么时间参加了或者是做了什么事情。
其中什么什么是Desc。
人或者是物是PPT
某种角色是Role
什么时间参与是MI
领域模型概念:通过对象以及对象之间的关联关系的代码。
实体(Entity):需要一个固定的标识记录一条信息。
值类型(Value Object):无需固定标识记录信息。
四层结构:UI、Business Logic、Domain Object、Service,每层之间只之上调用,不允许Service 调用Domain Object信息。层与层之间通过接口进行访问,通过Ioc技术实现层之间的隔离。
聚合根:一组对象之间的聚合,一个业务场景当中提取一个聚合根,聚合内的对象访问只能通过聚合根进行。
领域的四种模型:
1 贫血模型
1) 只包含get/set 属性
2) 包含:Service、Dao、Domain
2 失血模型
1) 包含get/set属性
2) 包含domain Logic,不引用其它层,包含的Logic 只限定跟当前的 domain object 有关
3) 包含:Service、Dao、Domain(包含 domain logic)
3 充血模型
1) 包含get/set 属性
2) 包含domain Logic
3) 包含business object,合并大部分 domain Logic,business object,仍然包含Service 但是Service 主要负责跟持久化层进行通信
4) 包含:Service(很少的逻辑)、Dao、Domain(包含 domain logic、business logic)
4 胀血模型
1) 包含get/set 属性
2) 合并domain Logic,business logic
3) 包含:Dao、Domain
5 失血模型变种
1) 包含get/set属性
2) 包含domain Logic,不引用其它层。包含的Logic 只限定跟当前的 domain object 有关。Service 与Dao 合并。如果逻辑比较简单,数据库操作比较简单CRUD的话,合并。
3) 包含:Service、Domain
领域对象提取方法:四色原型。
1) 使用四色原则是为了更好的提取领域对象,分析客观世界。
2) 世界上所有的东西都是由“物质”以及“相互作用”所组成。
a) 物质是:不以人的意识形态而改变的客观存在。
b) 相互作用是:我们理解的各种活动,比如打架,聊天等。
3) 四色原型:
a) 时刻时间段原型(MI)
b) 参与地点事件原型(PPT)
c) 描述原型(Desc)
d) 角色原型(Role)
e) 例子:什么什么样的人或物以某种角色在什么时间参加了或者是做了什么事情。
其中什么什么是Desc。
人或者是物是PPT
某种角色是Role
什么时间参与是MI
相关文章推荐
- 领域驱动设计的基础知识总结
- 领域驱动设计——浅析VO、DTO、DO、PO的概念、区别和用处
- IDDD 实现领域驱动设计-上下文映射图及其相关概念
- 领域驱动设计相关概念
- 领域驱动系列:澄清一些基础概念
- 领域驱动设计之基本概念
- DDD领域驱动设计及其概念
- 使用领域驱动设计中的Bounded Context概念分解大领域模型
- 分布式系统概念与设计学习(01),本书概要与基础概念
- 使用领域驱动设计中的Bounded Context概念分解大领域模型
- 领域驱动设计-基本概念
- 领域驱动设计(DDD)部分核心概念的个人理解
- [0] DDD领域驱动设计(二) 之 值对象
- 领域驱动设计: Community discussion and Personal understanding
- 领域驱动设计思想在一个小工具上的实践
- 重新解读DDD领域驱动设计(一)
- linux设备驱动归纳总结(一):内核驱动的相关基础概念
- 领域驱动设计之领域模型
- DDD 领域驱动设计-谈谈 Repository、IUnitOfWork 和 IDbContext 的实践
- 《领域驱动的设计》摘抄