学习视频来源:DDD独家秘籍视频合集 https://space.bilibili.com/24690212/channel/collectiondetail?sid=1940048&ctype=0


想要详细了解六边形架构,可以看我之前的一篇文章。是对六边形架构原文的翻译:https://blog.csdn.net/Theflowerofac/article/details/132815671

什么是依赖

对于程序单元A和B

  • 编译依赖:如果要编译A,必须要用到B的编译结果,则在编译期A依赖B。
  • 运行依赖:在运行期,如果B不能运行,则A一定也不能运行,则A在运行期依赖B。
  • 语义依赖:如果要理解A的语义,必须先理解B的语义,那么A在语义上依赖B。一般A在编译上依赖B,那么A在语义上也会依赖B,因为A使用的B的代码。

DDD四层架构

在这里插入图片描述
DDD原著中提到的四层架构,已经被六边形架构淘汰了。

六边形架构

在领域模型落地的时候,六边形架构是最常见的一种架构模式。
在这里插入图片描述
将依赖反转,得到六边形架构,又叫洋葱型架构,端口适配器架构。对于领域驱动设计来说,最关心的是从代码里分离一个领域核心模块出来,用来实现领域模型。它应该用领域的语言实现代码,不能依赖其他模块代码,应该让这个模块在程序上作为一个单独的模块独立出来,在编译期就不依赖其他的模块。在实践中为了技术实现方便,可以工具类,如日志组件gg、数学工具类等

代码实现

在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐