首页 > 其他分享 >为什么需要DDD

为什么需要DDD

时间:2024-09-13 15:03:24浏览次数:1  
标签:为什么 需要 开发人员 模型 贫血 当中 容易 DDD

1、为什么贫血模型在目前国内开发市场当中很流行?

  (1)、大多数的时候,业务相对简单,如基于数据库表,SQL语句,结合代码当中进行CRUD就可以完成;

  (2)、充血模型在开发的时候,需要更多的思考以及前瞻性,全局性的思考,而大多数开发人员缺乏这样的思考习惯;

  (3)、开发人员大多存在对旧有行为的思维习惯与开发过程当中的路径依赖,修改自己是需要成本的事情。

2、为什么贫血模型不太好?

  (1)、贫血模型是一种对现实世界的反模式认知习惯,我们人类看事物本来是一个对象总是同时包含属性与行为,比如说人,有身高,有体重(这些叫属性),走路,说话(这些叫行为);

  (2)、这种认知习惯的养成,我们就很容易把需要面向现实世界的软件系统开发成一个面积过程的实现,这其实是一种反现实世界的思维习惯;

  (3)、当系统复杂度高了之后,如果依然采用贫血模型,更容易导致系统最后做成难以维护的大泥球。

  最后,可以参考一下,MartinFowler对贫血模型的观点:https://martinfowler.com/bliki/AnemicDomainModel.html

3、在微服务架构设计当中,DDD为什么更好?

  (1)、职责边界清晰,各个微服务的开发人员相互扯皮的现象就会减少很多;

  (2)、整个系统架构上,通过对不同子域可以应用不同的服务治理策略,更加灵活;

  (3)、通过抽象与封装,防腐层设计,可以更加容易让我们很多相对稳定的核心业务在系统迭代的过程当中不会被入侵,从而更加容易实现真正的:高内聚低耦合;

  (4)、因为建立了统一的语言,在复杂系统沟通与建模时,与产品经理或客户们沟通时,信息在传输过程当中的失真率更低,大家更容易在认知上达到统一。

 

标签:为什么,需要,开发人员,模型,贫血,当中,容易,DDD
From: https://www.cnblogs.com/lhrogerluo/p/18412215

相关文章

  • 对接外卖霸王餐API接口,需要注意哪些事项?
    在对接外卖霸王餐API接口的过程中,需要注意以下事项以确保顺利实施和提供优质的用户体验:1.明确业务需求:确定你的平台需要哪些功能,如展示霸王餐选项、下单、支付、订单跟踪等。2.选择合适的API服务提供商:选择信誉良好、服务稳定的API服务提供商,并确保其提供的接口能满足你的......
  • Comfyui喂饭级教程:为什么要学Comfyui?
    前言:在当今快速发展的社会,掌握一项实用的技能对于安身立足至关重要。很多人推荐学习编程、数据分析等技术,但其中最引人瞩目的当属人工智能(AI)。特别是AI绘画,融合了艺术与科技,成为了当今最具潜力的领域之一。通过学习AI绘画,你不仅可以探索创意的无限可能,还能在科技驱动的市场......
  • 为什么H.266未能普及?EasyCVR视频编码技术如何填补市场空白
    H.266,也被称为VersatileVideoCoding(VVC),是近年来由MPEG(MovingPictureExpertsGroup)和ITU(InternationalTelecommunicationUnion)联合开发并发布的新一代国际视频编码标准。该标准于2020年定稿,旨在提高视频压缩效率,特别是在4K和8K超高清视频领域。然而,尽管H.266拥有诸多技术优势......
  • 当谈论DDD到底在谈论什么
    你好,今天简单写写DDD领域驱动设计。字少总结版什么是DDD:DDD是将业务领域概念和规则映射到软件设计的方法,能打通产品、设计、编码人员的信息壁垒。DDD、ER和UML三者关系:三者在软件开发中相互关联但侧重点、范围和目的不同,DDD可结合UML,ER作用可弱化。DDD的核心概念有哪些:包括事......
  • 第十八讲:为什么我只查一行的语句,也执行这么慢?
    第十八讲:为什么我只查一行的语句,也执行这么慢?引入​ 一般情况下,如果我跟你说查询性能优化,你首先会想到一些复杂的语句,想到查询需要返回大量的数据。​ 但有些情况下,“查一行”,也会执行得特别慢。今天,我就跟你聊聊这个有趣的话题,看看什么情况下,会出现这个现象。需要说明的是,如......
  • 第十七讲 为什么这些SQL语句逻辑相同,性能却差异巨大?
    第十七讲:为什么这些SQL语句逻辑相同,性能却差异巨大?简概:引入:​ 在MySQL中,有很多看上去逻辑相同,但性能却差异巨大的SQL语句。对这些语句使用不当的话,就会不经意间导致整个数据库的压力变大。我今天挑选了三个这样的案例和你分享。希望再遇到相似的问题时,你可以做到举一反......
  • 【知乎】为什么大学老师上课普遍都很水?
    为什么大学老师上课普遍都很水?作者:刘石桐链接:https://www.zhihu.com/question/507373378/answer/2337939964来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。这个回答对我来说真的醍醐灌顶......
  • 【知乎问题】为什么大学老师上课普遍都很水?
    为什么大学老师上课普遍都很水?作者:刘石桐链接:https://www.zhihu.com/question/507373378/answer/2337939964来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。因为大多数学生并没有意识到,上一门“不水”的课,需要付出多少代价。课堂是教师和学......
  • 为什么需要用到channel
    Channel是Go语言中并发编程的核心工具之一,主要用于解决以下问题:1.数据传递和通信在并发编程中,不同的goroutine可能需要交换数据。使用channel可以安全地在goroutine之间传递数据,而无需显式地使用锁。channel提供了类型安全的通信机制,使得数据传输既简洁又安全。2.......
  • AndroidAuto认证难吗?需要准备哪些资料?
    在当前的数字化时代,汽车不再仅仅是交通工具,更是集成了众多智能技术的移动空间。其中,AndroidAuto作为连接手机与车载系统的桥梁,为驾驶者提供了更加便捷、智能的驾驶体验。然而,对于许多汽车制造商和车载系统开发者来说,AndroidAuto认证成为了一个绕不开的话题。那么,AndroidAuto认证......