基于DDD领域驱动设计的go语言实现

时间:2022-10-21 01:00:47

什么是DDD?

以下是考虑使用DDD的原因:

  • 提供解决困难问题的原则和模式
  • 将复杂的设计基于领域模型
  • 在技术和领域专家之间发起创造性的协作,以迭代地完善解决领域问题的概念模型。

DDD包含4个层:

  1. Domain:这是定义应用程序的域和业务逻辑的地方
  2. Infrastructure:此层包含独立于我们的应用程序而存在的所有内容:外部库,数据库引擎等。
  3. Application:该层用作域和界面层之间的通道。将请求从接口层发送到域层,由域层处理请求并返回响应。
  4. Interfaces:该层包含与其他系统交互的所有内容,例如Web服务,RMI接口或Web应用程序以及批处理前端。

其中domain层不依赖其余层,它定义repository接口,infrastructure层会实现;application层会调用domain、infrastructure层;interfaces层个别调用application层或者infrastructure层。

参考文档​https://mp.weixin.qq.com/s?__biz=Mzg5NDYxNTYyMw==&mid=2247487630&idx=1&sn=e2c6bad0567802290aea90b7beb5d096&source=41#wechat_redirect​