美文网首页ddd
DDD战术落地思考 — 要站在更高的层次与DDD作者达成共鸣

DDD战术落地思考 — 要站在更高的层次与DDD作者达成共鸣

作者: 小胖学编程 | 来源:发表于2022-06-22 11:11 被阅读0次

不要局限于DDD话术中,要站在更高的层级去思索,如果让你去更加高效的复用代码,你会做些什么。在考虑DDD为了完成这个目的,它会做些什么?再次:DDD与MVC最大的区别就是他会增加一些限制,来尽量保证设计按照期望的方向发展。

DDD思想的最终目的就是实现代码层级的高内聚与低耦合。这也是软件设计的最终目的。但是如何量化常说的“高内聚与低耦合”呢?—— 代码复用(无论是常见的设计模式,还是更加高深的设计思想,其都是朝着如何使的代码能尽量复用而努力的。正所谓,改的越少,错的越少,迭代越快)

如何实现代码的复用:

  1. 保证行为的一致性(----DDD名词:聚合根)例如:订单和订单明细在操作是一体的,要封装起来对外提供能力,从而保证行为一致性;
  2. 收敛散乱在各处的逻辑(---DDD名词:充血),使用工具类不是不可以,但是如何避免因为找不到轮子而反复创建轮子这种行为。就把逻辑收敛到一个最明显的地方,考虑了下就是充血对象中。
  3. 保证行为粒度足够小,且不受污染(---DDD名词:分层)一般的胶水代码是:编排逻辑,领域逻辑,持久化逻辑写在一个方法中。我就是想复用一块代码也是无能为力的。解决方案就是领域层提供基础能力(你可以去复用),应用层完成编排,基础设施层负责持久化。
  4. 业务逻辑与技术细节解耦(---DDD名词:防腐层)这个没得分歧,加一层适配层而已。

DDD分层划分:应用编排层、领域服务层、基础设施层。复用的便是领域层。

相关文章

  • DDD战术落地思考 — 要站在更高的层次与DDD作者达成共鸣

    不要局限于DDD话术中,要站在更高的层级去思索,如果让你去更加高效的复用代码,你会做些什么。在考虑DDD为了完成这...

  • DDD在社交网络的实战

    DDD在社交网络的实战 一个没有落地的DDD,不是DDD。如何落地,本文通过一个社交网络的例子展示我们DDD实施的...

  • ddd

    DDD理解:基本概念:DDD战略思想:领域、子领域、限界上下文、通用语言、下文映射图、架构风格DDD战术实现:聚合...

  • DDD战术实战(1)项目整体设计

    本篇起,将描述战术落地DDD遇见的问题以及解决方案。 目录: 落地架构 package的划分 类名划分 模块依赖关...

  • DDD流程编排:上下文Context对象的定义与思索

    一、业务背景 在DDD战术落地—聚合的编排一定要在应用层吗?(领域服务与领域对象的区别)[https://www....

  • DDD模型落地的几点思考

    DDD模型落地难的问题 第一次听到“DDD模型难落地”,是刚转到咨询的第一个年会上。我当时内心的OS是“DDD模型...

  • MarkDown

    ###fff ..aa..... ddd ddd ddd ddd ddddddasdf

  • test1

    *title* dddd ddd ddd ddd

  • 什么是DDD领域驱动设计?

    什么是DDD? DDD全称为(Domain-Driven Design,简称DDD),领域驱动设计 为什么要学习D...

  • DDD战略2 领域知识

    GitChat课程《领域驱动设计--战略篇》笔记,课程作者张逸 一.DDD开发中团队的沟通与协作 DDD先要识别问...

网友评论

    本文标题:DDD战术落地思考 — 要站在更高的层次与DDD作者达成共鸣

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