DDD案例(2):从领域分析到代码实现(6)

简介: DDD案例(2):从领域分析到代码实现(6)

image.png

image.png

image.png

image.png


循系统分层架构与菱形对称架构对代码模型的约束和规定,EAS系统的代码模型如图20-50所示。


image.png


所有限界上下文都采用了菱形对称架构规定的标准代码模型,只是根据具体情况作了少量调整。各个限界上下文在系统分层架构所处的层次,也通过包的命名空间清晰地呈现出来了。

20.3.4EAS的领域建模

确定了EAS系统的限界上下文与系统上下文,并通过菱形对称架构和系统分层架构设计出EAS的整体架构后,接下来就进入了战术层面的领域建模阶段。考虑到篇幅原因,我仅选择了业务逻辑相对复杂的培训上下文,运用快速建模法对其进行领域分析建模,获得领域分析模型后,采用庖丁解牛的过程设计聚合,然后相继开展服务驱动设计与测试驱动开发获得最终的领域模型。

1.领域分析建模

领域分析建模阶段的关键是识别领域概念,为限界上下文建立领域分析模型。参考过程模型推荐使用快速建模法进行领域分析建模,它的基础是业务服务规约。以提名候选人业务服务为例,它的业务服务规约如下。

 

服务编号:EAS-0202

服务名:提名候选人

服务描述:

  作为一名协调者

  我想要提名候选人参加培训

  以便部门的员工得到技能培训的机会

触发事件:

  协调者选定候选人后,点击“报名”按钮

基本流程:

1.确定候选人是否已经参加过该课程

2.对培训票提名候选人

3.邮件通知获得提名的候选人

替换流程:

1a.候选人参加过该培训要学习的课程,提示员工已经学习过该课程

2a.提名操作失败,提示失败原因

验收标准:

1.被提名人属于候选名单中的员工

2.提名的票状态必须为Available

3.提名后的票状态为WaitForConfirm

4.候选人获得培训票

相关文章
|
前端开发 JavaScript NoSQL
DDD实战之二:看看代码结构长啥样
DDD实战之二:看看代码结构长啥样
DDD实战之二:看看代码结构长啥样
|
项目管理
DDD案例(1):从需求分析到领域分析(4)
DDD案例(1):从需求分析到领域分析(4)
422 0
DDD案例(1):从需求分析到领域分析(4)
|
前端开发
使用案例
使用案例
118 0
|
搜索推荐 索引 Python
特殊案例,为什么a, b = b, a结果跟你想的不一样?
特殊案例,为什么a, b = b, a结果跟你想的不一样?
143 0
特殊案例,为什么a, b = b, a结果跟你想的不一样?
|
BI 测试技术
DDD案例(2):从领域分析到代码实现(3)
DDD案例(2):从领域分析到代码实现(3)
147 0
DDD案例(2):从领域分析到代码实现(3)
|
前端开发 应用服务中间件 项目管理
DDD案例(2):从领域分析到代码实现(5)
DDD案例(2):从领域分析到代码实现(5)
277 0
DDD案例(2):从领域分析到代码实现(5)
DDD案例(2):从领域分析到代码实现(2)
DDD案例(2):从领域分析到代码实现(2)
306 0
DDD案例(2):从领域分析到代码实现(2)
|
消息中间件 存储 供应链
DDD案例(2):从领域分析到代码实现(4)
DDD案例(2):从领域分析到代码实现(4)
232 0
DDD案例(2):从领域分析到代码实现(4)
|
领域建模 项目管理
DDD案例(2):从领域分析到代码实现(1)
DDD案例(2):从领域分析到代码实现(1)
255 0
DDD案例(2):从领域分析到代码实现(1)
|
存储 领域建模
DDD案例(2):从领域分析到代码实现(8)
DDD案例(2):从领域分析到代码实现(8)
281 0
DDD案例(2):从领域分析到代码实现(8)