后端开发
DDD 标签描述

一、DDD是什么? DDD全名叫做DominsdrivesDesign;领域驱动设计。再说的通俗一点就是:通过领域建模的方式来实现软件设计。 问题来了:什么是软件设计?为什么要进行软件设计? 软件开发最主要的目的就是:解决一个问题(业务)而产生的一个交付物(系统)。而软件设计旨在高效的实现复杂项目软件。也就是说软件设计是从业务到系统之间的桥梁。 而DDD则是在复杂业务场景下一种更高效更合理的软件设计思维方式和方法论。 二、以前的软件设计思维是什么? 绝大部分从事软件开发的人,不管是在学校还是刚开始工作,都是从ER图开始。即直接通过业务设计数据库模型和数据关联关系。这种思维根深蒂固的印在了这些人...

前言 趁着双十一备战封板,终于又有一些时间可以梳理一下最近的心得。 最近这半年跟同事讨论比较多的是分层架构,然后就会遇到两个触及灵魂的问题,一个是如何做好分层架构,二是DDD在架构层面该如何落地。 为了说好分层,我们需要了解架构的意义。 良好的架构是为了保证一下两点: 治理应用复杂度,降低系统熵值; 从随心所欲的混乱状态,走向井井有条的有序状态。 比如,你去图书馆借阅书籍,对于纷繁杂乱的各类书籍,如果不能很好的管理和分类,必然会导致图书馆管理混乱,效率低下,使得图书馆不能正常运维。而分层架构的意义也在于此,当我们面对复杂的业务需求时,需要更好的规划我们的包结构和依赖规约,可以更好的治理我们...