美文网首页
2017-12-27领域模型实践

2017-12-27领域模型实践

作者: xiale | 来源:发表于2017-12-27 15:32 被阅读0次

https://mp.weixin.qq.com/s/jMWuMuIvI1cFThC-WQGbHQ

设计领域模型的一般步骤如下:

1.根据需求划分出初步的领域和限界上下文,以及上下文之间的关系;

2.进一步分析每个上下文内部,识别出哪些是实体,哪些是值对象;

3.对实体、值对象进行关联和聚合,划分出聚合的范畴和聚合根;

4.为聚合根设计仓储,并思考实体或值对象的创建方式;

在工程中实践领域模型,并在实践中检验模型的合理性,倒推模型中不足的地方并重构。

如何创建好的聚合?

边界内的内容具有一致性:在一个事务中只修改一个聚合实例。如果你发现边界内很难接受强一致,不管是出于性能或产品需求的考虑,应该考虑剥离出独立的聚合,采用最终一致的方式。

设计小聚合:大部分的聚合都可以只包含根实体,而无需包含其他实体。即使一定要包含,可以考虑将其创建为值对象。

通过唯一标识来引用其他聚合或实体:当存在对象之间的关联时,建议引用其唯一标识而非引用其整体对象。如果是外部上下文中的实体,引用其唯一标识或将需要的属性构造值对象。

如果聚合创建复杂,推荐使用工厂方法来屏蔽内部复杂的创建逻辑。

Cache Aside Pattern  ??

上文中,我们将领域行为封装到领域对象中,将资源管理行为封装到资源库中,将外部上下文的交互行为封装到防腐层中。此时,我们再回过头来看领域服务时,能够发现领域服务本身所承载的职责也就更加清晰了,即就是通过串联领域对象、资源库和防腐层等一系列领域内的对象的行为,对其他上下文提供交互的接口。

相关文章

  • 2017-12-27领域模型实践

    https://mp.weixin.qq.com/s/jMWuMuIvI1cFThC-WQGbHQ 设计领域模型的...

  • 学习内容

    DDD领域模型设计 OpenResty最佳实践

  • 领域模型

    领域模型 领域模型是对领域内的概念类或现实世界中对象的可视化表示。又称概念模型、领域对象模型、分析对象模型。它专注...

  • 天使陪伴计划明细

    2017-12-27叮叮家50 2017-12-27无名爱心人士200 2017-12-27曹卫国2000 201...

  • 如何建一个读书小组

    最近安猪老师在慢学校介绍了一个实践社区的模型,用图形表示是这样的: 一个实践社群有三个要素:领域,社团和实践。 领...

  • 领域模型

    领域模型中的实体类细分为4种类型:VO、DTO、DO、PO。PO(Persistent Object):持久化对象...

  • DDD NOTE

    《领域驱动设计》一书是领域模型领域的代表作,被很多牛人推荐,其中的概念还需要在思考和实践中逐步理解。书中描述的一些...

  • 百问中台:基于DDD的中台领域模型

    概述 领域模型由两个word组成:领域+模型。领域模型的定义,就是对软件系统中要解决的问题进行抽象表达: 领域:D...

  • 面试官:谈一下你对DDD的理解?我:马什么梅?

    领域模型(domain model)是对领域内的概念类或现实世界中对象的可视化表示。领域模型也称为概念模型、领域对...

  • DDD领域驱动设计

    一、贫血模型 贫血模型(Anemic Domain Model) 贫血模型是一种领域模型,其中领域对象包含很少或没...

网友评论

      本文标题:2017-12-27领域模型实践

      本文链接:https://www.haomeiwen.com/subject/obrugxtx.html