领域驱动(笔记一)

聚合根
防腐层
业务怎么开发?业务架构怎么治理?架构怎么防腐?怎么解决应用架构的复杂性?
Spring Cloud解决架构的分布式问题,领域驱动作为业务治理和机构防腐的方法论
肥服务处和贫血曾领域模型
领域对象 业务意图 。实体并不是领域对象,只是数据载体 也就是贫血对象。这种做法会随着业务开发常年积累野蛮生长,
从而腐败,无法维护

领域模型的特点:领域模型是由边界的,只反映在领域中关注的对象;领域直返业务,和技术无关;

实体:实体需要一个唯一表述;实体不需要关联太多的属性。Customer 和 Address
值对象表述:他没有唯一的标识,并且它所具有的属性是不变的,具有只读属性,所以才被安全共享。

领域服务:本质就是操作或者动作,不是实物。这些动作回涉及到多个领域的对象,需要多个对象才能完成这个动作。
所以不能钱操作的职责划分给某个对象。 这个和面向对象的设计中 属性和行为是一个类对象的设计有所不同。
服务是一个自然的范式。
特点:操作是无状态的。

聚合和聚合根
聚合被称为根实体,聚合根也是实体。聚合根是DDD中的一个概念,是一个更大范围的封装。

边界上下文
不同业务要相互通讯,就涉及到跨边界的集成。集成不能是简单的rpc的调用,需要一个专门的防腐层转化。防腐层
主要是对外部依赖的解耦。以及避免外部领域概念污染上下文的内部实体。

工厂
用来创建领域对象的,屏蔽创建细节。

仓储和资源库
仓储就类似于集合,仓储中存放的对象一定是聚合。避免了直接和数据库打交道

CQRS架构:命令部分和查询部分分离,命令部分可以采用领域驱动来设计。查询部分比较灵活

驱动事件:事件疏源

Halo 架构的设计

如何实现从模型到代码的装换,并让代码具有可扩展性、可维护性和高新能等的指标?如何防疫领域的模型可能会
导致对象之旧话的问题,或者引起不可接受的性能问题。

如何设计开发一个DDD应用框架?
领域驱动的框架:基于Java的有Axon Freemark \J

猜你喜欢

转载自blog.csdn.net/weixin_39472101/article/details/114251217