
领域驱动设计
文章平均质量分 88
张超帅
哈哈哈哈哈哈
展开
-
领域驱动设计心得
实现领域驱动设计心得 1. 分层 2. 领域 3. 领域服务 4. 聚合根 5. 实体 6. 值对象https://www.zhihu.com/question/25089273 http://www.cnblogs.com/netfocus/archive/2012/02/12/2347938.html http://blog.jobbole.com/99298/分层原创 2017-12-11 09:18:56 · 2613 阅读 · 0 评论 -
领域模型-实体对象和值对象
对于实体Entity和值对象Value Object是领域驱动设计里面两个重要的模型对象。 首先对于实体Entity,实体核心是用唯一的标识符来定义,而不是通过属性来定义。即即使属性完全相同也可能是两个不同的对象。同时实体本身有状态的,实体又演进的生命周期,实体本身会体现出相关的业务行为,业务行为会实体属性或状态造成影响和改变。真正的现实世界,每个事物都一定会有唯一的标识,关键点是我们实际的业务场转载 2017-12-06 10:53:10 · 3479 阅读 · 0 评论 -
领域驱动设计之聚合与聚合根
对实体与值对象等进行关联设计后,就应该进行聚合的划分以及聚合根的确定。首先我们需要明确为什么需要进行聚合的划分?原来我们的系统对领域划分的最小单位通常是模块,比如客户信息管理模块、雇员信息管理模块。但模块的划分对于设计来说,还是显得粒度太粗。一.聚合与聚合根1.定义了对象之间清晰的关系和边界,并实现领域模型的内聚。我的理解是:一个聚合内的对象才具有强关联,对象的关联设计应该是针对一个聚合中的实体与实转载 2017-12-07 16:18:59 · 4947 阅读 · 0 评论 -
领域驱动设计之实体、值对象、领域服务
建立领域模型的第一步就是需要识别出实体、值对象与领域服务。一.实体1.实体是领域中需要唯一标识的领域概念。通常在业务中,需要唯一标识与区分的对象并需要持续对它进行跟踪,这样的对象我们认为是实体。这里的唯一标识通常指的是业务上的唯一标识,比如订单号、雇员工号等信息,而不是数据库中因为技术需要存储的自增int id或Guid列。2.如果两个实体所有状态都一样,但如果标识不一样,就是两个不同实体。比如订单转载 2017-12-07 16:27:24 · 1670 阅读 · 0 评论 -
领域驱动设计-划分界限上下文
我们根据需求不要急于建立分析模型,而是应该先根据对需求的理解,将系统划分为多个界限上下文,每个界限上下文为独立解决业务的一部份的解决方案。比如一个电商平台,可以分为买家、卖家、商品、订单、退货等几个界限上下文。划分界限上下文是非常自然的事情。比如一个OA系统,可以分为部门与员工基础资料、费用管理、内部考试、学习中心、员工考勤、钉钉通知(各种业务事件发生时调用钉钉框架发送消息)等。界限上下文通常有三种转载 2017-12-07 17:42:09 · 1730 阅读 · 0 评论