对于DDD领域驱动设计的了解

Posted 数据湖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对于DDD领域驱动设计的了解相关的知识,希望对你有一定的参考价值。

对于DDD很多年前就有所耳闻,当时对它的认识就是知道领域驱动设计,基于领域模型的,也是一种企业级软件开发解决方案,并没有花时间去了解他。随着微服务架构思想的更多普及,DDD又重新出现在了我们的面前。维基百科上的定义


Domain-driven design (DDD) is an approach to software development for complex needs by connecting the implementation to an evolving model



下面是thoughtworks讲师对DDD定义总结

领域驱动设计是一 种处理高度复杂域的设计思想,试图 分离技术实现的复杂性, 围绕业务概念构建领域模型来 控制业务的复杂性,以解决软件难以理解,难以演化等 问题。团队应用它可以成功地开发复杂业务软件系统, 使系统在增大时仍然保持敏捷。


从上面我们大概能知道领域驱动设计,它复杂核心系统的一种设计思想,不应该有系统大小的限制,而是看这个业务的核心程度和复杂度,至于系统的业务是否核心、业务是否复杂,那都是关乎于人的不确定因素。


下图自己对DDD培训部分的总结


大泥球介绍

A big ball of mud is a software system that lacks a perceivable architecture. Although undesirable from a software engineering point of view, such systems are common in practice due to business pressures, developer turnover and code entropy. They are a type of design anti-pattern.


遗留的系统随着需求的不断堆叠,慢慢演变成了错综复杂的大泥球

以上是关于对于DDD领域驱动设计的了解的主要内容,如果未能解决你的问题,请参考以下文章

DDD领域驱动设计落地实践系列:战略设计和战术设计

如何系统学习领域驱动设计?

领域驱动设计(DDD)

DDD领域驱动设计

领域驱动设计(DDD)中简单易用的10种技巧

DDD领域驱动设计实践 —— Application层实现