领域驱动设计 DDD
DDD 是什么
一般情况下,系统分析和系统设计都是分离的。比如,当我们拿到一个需求后,先梳理业务逻辑,再确定需要哪些表。表确定后再构建数据模型(DO),DO 只有属性和 setter、getter 方法,然后通过一个或多个service
来完成业务逻辑的处理。这种模式我们可以称它为面向数据库开发。
而 DDD 则打破了这种隔阂,提出了领域模型的概念,统一分析和设计,使得软件能够更灵活快速跟随需求变化。DDD 的特点在于:接触到需求第一步就是考虑领域模型,通过领域模型来链接业务,领域模型准确反映了业务语言,看到到领域模型代码,就看到了业务需求。
两者的优缺点在什么地方呢?
面向数据库的开发模式的优点是,简单快捷,开发模式固定,新人上手快。缺点是随着业务的增长,类的数量快速增长,软件的复杂度会不断上升。DDD 的优点就是好的领域模型能有效的控制系统复杂度。但是难点也在这里,DDD 主要难点是领域发现和领域建模,想做好 DDD,需要对它有足够深入的了解。
参考资料
本文来自博客园,作者:xfcoding,转载请注明原文链接:https://www.cnblogs.com/cloudrich/p/17561555.html