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

玩点科技新鲜事 2024-01-23 07:39:13
我是编程乐趣,一个10年.Net开发经验老程序员,点击右上方“关注”,每天为你分享开源项目和编程知识。 我在《 知识星球 》里,编写了2个框架教程,一个是三层架构、一个是DDD架构的。 很多学员就会个疑问: 我会三层架构,但现在学了DDD,以后是不是都用DDD了? 首先,在软件开发领域中,技术的选择往往不是非黑即白的。 虽然DDD(领域驱动设计)是最近比较流行、先进的软件设计方法论,在解决复杂业务问题上有很好的优势,在实际项目开发中,并不是说DDD就比三层架构合适。 我认为选择框架,还有一个维度需要重点考虑,那就是:项目可控! 可控又分为:开发进度可控、团队能力可控、维护可控。 1、开发进度可控:也可以说是目标,项目开发中,不管你采用什么技术,有一个目标必须要完成的,就是在规定时间内完成项目目标;所以不管你采用什么技术、什么框架、是否为新技术,可控的进度都必须满足的。 2、团队能力可控:技术最终是要能匹配团队的,涉及新技术、新框架,如果团队成员不具备这样的能力,就需要培训、学习;这就会产生多个问题:团队成员能否掌握、开发进度是否会延迟、是否会带来新问题等,这就需要我们评估风险,做好抉择。 3、维护可控:这里面又分为代码维护和需求业务发展,比如采用三层架构,维护会不会导致代码耦合严重,业务可能会高速发展,三层架构不利于迭代升级等,这就需要我们提前考虑未来架构的调整,预先预留设计方案。 总的来说,我们技术选型的宗旨:能按时按质完成项目,这是总目标,技术、编程语言、架构都必须服务于这个总目标。 任何系统的架构,一定要匹配团队的能力、当前的业务。当然了随着业务的发展,我们也需要及时的重构,一步步的演变,甚至慢慢把三层架构重构为DDD架构! 切记过渡、过早的设计,带入太多未知、不可控的问题。 架构也不是一成不变的,要懂得结合项目的大小、项目的类型,适当的调整架构,生产力才是最重要的。 点赞收藏私信回复:【888】,领取.Net视频教程。- End - 推荐阅读 一个具有强大PDF处理能力的.Net开源项目 一个支持将Html页面转为PDF的.Net开源项目 一个PDF文档生成器.Net库 一个常用的.Net集合开源工具库,包含CSV、PDF、Excel等 一个非常强大的可视化.NET开源任务调度框架
0 阅读:4

玩点科技新鲜事

简介:感谢大家的关注