继续学习DDD

记录:DDD不是架构而是一种思想,一种观察事物的角度。而六边形架构则是实现的一种架构。 过去程序员从数据结构,存储出发解决问题。而DDD提倡从业务角度去考虑问题。

架构

DDD风格的架构
https://www.cnblogs.com/davenkin/p/road-to-ddd.html

理解 Domain Model

理解 实体 Entity

https://cloud.tencent.com/developer/article/1790795

理解 仓库 Repository
https://cloud.tencent.com/developer/article/1803939

理解 值对象 Value Object

https://cloud.tencent.com/developer/article/1790794

理解 聚合 Aggregate

理解 六边形架构 Hexagonal Architecture

六边形架构是DDD是常用的一种架构信息,与其对标的是传统的分层模型和加入依赖反转的分层模型

第一次看到这个模型可能有点懵,六边形架构其实和以前的洋葱模型类似,要从信息的流动的角度来看。当信息流从六边形外部流入,经过边界,达到内部“领域模型”,经过处理,可能需要从六边形的另外一边存取数据(数据库,外部资源),流入或者流出。

和以前的分层模型相比(比如MVC),它强调的是系统“内外”之分,而不是内部的分层。当信息跨越边界(Port)的时候,需要又Adpater来适配。参考阅读1

比如信息从外部进入六边形的时候,把信息转成内部里理解的Request对象。

当信息流出六边形的时候,要转成外部颗理解的Response对象。

工厂

Application Service

Application Service 里的体现是实际业务中的每个用例额,场景,use case。在usease

参考