DDD与三层架构,一定就是DDD好?

我在《 知识星球 》里,编写了2个框架教程,一个是三层架构、一个是DDD架构的。
很多学员就会个疑问:
我会三层架构,但现在学了DDD,以后是不是都用DDD了?
首先,在软件开发领域中,技术的选择往往不是非黑即白的。
虽然DDD(领域驱动设计)是最近比较流行、先进的软件设计方法论,在解决复杂业务问题上有很好的优势,在实际项目开发中,并不是说DDD就比三层架构合适。
我认为选择框架,还有一个维度需要重点考虑,那就是:项目可控!
可控又分为:开发进度可控、团队能力可控、维护可控。
1、开发进度可控:也可以说是目标,项目开发中,不管你采用什么技术,有一个目标必须要完成的,就是在规定时间内完成项目目标;所以不管你采用什么技术、什么框架、是否为新技术,可控的进度都必须满足的。
2、团队能力可控:技术最终是要能匹配团队的,涉及新技术、新框架,如果团队成员不具备这样的能力,就需要培训、学习;这就会产生多个问题:团队成员能否掌握、开发进度是否会延迟、是否会带来新问题等,这就需要我们评估风险,做好抉择。
3、维护可控:这里面又分为代码维护和需求业务发展,比如采用三层架构,维护会不会导致代码耦合严重,业务可能会高速发展,三层架构不利于迭代升级等,这就需要我们提前考虑未来架构的调整,预先预留设计方案。
总的来说,我们技术选型的宗旨:能按时按质完成项目,这是总目标,技术、编程语言、架构都必须服务于这个总目标。
任何系统的架构,一定要匹配团队的能力、当前的业务。当然了随着业务的发展,我们也需要及时的重构,一步步的演变,甚至慢慢把三层架构重构为DDD架构!
切记过渡、过早的设计,带入太多未知、不可控的问题。
架构也不是一成不变的,要懂得结合项目的大小、项目的类型,适当的调整架构,生产力才是最重要的。

声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/391616.html

(0)
联系我们
联系我们
分享本页
返回顶部