美文网首页
10.使用DDD的原则、实践与模式

10.使用DDD的原则、实践与模式

作者: 鸿雁长飞光不度 | 来源:发表于2022-08-07 02:13 被阅读0次

这是这本书的第一部分的最后一章,过去的章节其实主要围绕了DDD设计模式对复杂领域的一些解决方法,得知了很多概念,以及他们的含义和关联关系,比如子域、上下文映射、通用语言、领域模型、DDD分层架构等等,总的来说我了解了一些,但是感觉还是没有学到有用的太多有用的东西,只是在工作中有过相似经历的会知道偶尔原来说的这么回事,后面的两大部分是会分别详细介绍战略设计和战术设计,可能结合案例和代码估计会更好理解吧,后面会继续记录。

1.推广使用DDD

使用前提

  • 热衷学习的、有技术、充满热情的团队。

  • 对业务很重要的不简单的问题域

  • 有与项目愿景保持一致的领域专家的参与。

  • 遵循迭代式开发

1.1 培训团队

专注业务保持一致,专注领域上下文、描述模型的语言,与领域专家协作,专注不受混乱基础架构和技术问题

影响的抽象概念模型。

1.2 与业务人员交流

业务人员不希望听到新一代的开发思想体系或者方法论,只关心交付价值,可以和他们讨论DDD,单要专注协作需要上。

2.应用DDD的原则

2.1理解业务愿景

与业务人员会谈期间,带着问题去思考问题业务愿景,捕获产品的特性。

  • 产品的业务目标、驱动因素是什么?

  • 产品会为业务代理什么?

  • 如何才能知道取得了成功?好的一面看起来什么样?

  • 这样做和之前的做法有什么不同?

2.2捕获所需的行为

2.2.1 提炼问题空间

问题空间复杂难以管理,可创建子域并借助将问题抽象到更高的层级环节日志负荷。

2.2.2 专注重要方面

专注核心域

2.3 理解环境的现实情况

识别出直接影响产品或者被产品影响的起作用的不同有界上下文。

重复如下步骤

  1. 确定影响问题域的模型,绘制上下文并命名,说明负责人。不知从何处开始,可以参考团队组织结构。

  2. 映射集成点以及集成方法。

  3. 映射要交换的数据以及谁拥有这些数据。

  4. 标记上下文映射关系。

  5. 重复上述步骤,直到捕获与你开发的环境有关的内容。

2.3 对解决方案建模

在值得使用DDD问题上、多于专家进行交流、选择行为并围绕具体场景建模,演化UL以及移除歧义,

并不断尝试设计模型,并在代码实现,有必要的情况下进行代码重构。

image-20220807015059034.png

相关文章

  • 10.使用DDD的原则、实践与模式

    这是这本书的第一部分的最后一章,过去的章节其实主要围绕了DDD设计模式对复杂领域的一些解决方法,得知了很多概念,以...

  • 识别领域事件

    随着微服务架构的兴起,微服务设计与拆分的的最佳实践DDD已然成为大家讨论与实践的热点,如何用DDD建模来实现...

  • 识别领域事件

    随着微服务架构的兴起,微服务设计与拆分的的最佳实践DDD已然成为大家讨论与实践的热点,整个行业都在探索如何用DDD...

  • 大话设计模式 读书笔记

    大话设计模式 book: <设计模式> <设计模式解析> <敏捷软件开发:原则, 模式与实践> <重构-改善既有代...

  • python面试学习路线-10.设计模式

    10.设计模式 1.精通设计模式 1.六大设计原则解析, OO的五大原则,具现化后就是具体的设计模式 单一职责原则...

  • DDD原则模式和实践 读书笔记 三

    领域模型实现模式 领域模型 领域模型是一个面向对象模型,它同时囊括了行为和数据。该模式基于没有数据库前提的。优点:...

  • DDD原则模式和实践 读书笔记 二

    提炼问题域 参与人员 - 业务(领域专家)和技术(开发人员)进行协作 业务相关人员更关注某个功能的输入和输出,但是...

  • DDD原则模式和实践 读书笔记 一

    DDD是一种开发思想体系,它只在管理为复杂问题域写的软件的创建和维护工作 如果不是复杂问题域,就没必要用DDD去管...

  • 我的软件测试开发工程师书单

    关于编程实践 《程序员的职业修养》 《代码整洁之道》 关于架构与设计 《敏捷软件开发:原则、实践与模式》 《设计模...

  • 1.3 落实DDD(Domain Driven Design)

    我仅说一下我对DDD的理解,仅代表个人观点。DDD和面向对象、和设计模式原则、和《代码整洁之道》说的是一个道理的不...

网友评论

      本文标题:10.使用DDD的原则、实践与模式

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