01.领域驱动设计 - 基础概念

领域概念:领域即是业务。

领域模型概念:通过对象以及对象之间的关联关系的代码。

实体(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)         例子:什么什么样的人或物以某种角色在什么时间参加了或者是做了什么事情。

  1. 其中什么什么是Desc。
  2. 人或者是物是PPT
  3. 某种角色是Role
  4. 什么时间参与是MI

转载于:https://www.cnblogs.com/yangboyu/archive/2011/03/27/1996914.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值