领域驱动设计DDD: 战术模式概述

云的事情不好说2024-05-19 08:10:38  114

实体(Entity):实体是一个具有唯一身份并随时间持续存在的对象。例如,在银行应用程序中,客户和账户将是实体。

实体在系统中具有唯一标识符,可用于查找或检索实体。这并不意味着标识符总是直接暴露给用户。它可以是GUID或数据库中的主键。

值对象(Value Object):值对象没有身份。它仅由其属性的值定义。值对象也是不可变的。要更新值对象,我们总是创建一个新实例来替换旧的实例。值对象可以具有封装领域逻辑的方法,但这些方法不应影响对象的状态。典型的值对象示例包括颜色、日期和时间以及货币值。

聚合(Aggregate):聚合在多个实体周围定义了一个一致性边界。聚合中恰好有一个实体是根。使用根实体的标识符进行查找。聚合中的任何其他实体都是根的子级,并且是通过从根(Root)跟随指针进行引用的。

领域和应用程序服务(Domain and application services):在DDD术语中,服务是一个实现一些逻辑而不持有任何状态的对象。Evans区分了领域服务和应用程序服务,前者封装领域逻辑,后者提供技术功能,如用户认证或发送短信消息。领域服务通常用于模拟跨越多个实体的行为。

领域事件(Domain events):领域事件可用于在系统发生某事时通知系统的其他部分。顾名思义,领域事件在领域内应该有意义。例如,“记录插入到表中”不是领域事件。“交付被取消”是领域事件。领域事件在微服务架构中特别相关。因为微服务是分布式的,不共享数据存储,领域事件为微服务提供了一种相互协调的方式。文章“服务间通信”更详细地讨论了异步消息传递。

转载此文是出于传递更多信息目的。若来源标注错误或侵犯了您的合法权益,请与本站联系,我们将及时更正、删除、谢谢。
https://www.414w.com/read/551891.html
0
随机主题
美国14岁少年挑战最辣玉米片, 一命归西, 辣死人是真的存在战斗力不输大S! 马筱梅深得汪小菲真传, 痛骂前任: 蹭热度的蛆虫中肯! 鲁德点评今年法网夺冠热门! 支持德约科维奇的原因很牵强!揭秘小巨人张荣的成名经历与婚姻生活一句“可远程瘫痪”, 西方警醒了我们, 中国一定要有自己的光刻机今年荔枝让人“高攀不起”? 整体减产, 妃子笑已经降价江苏: “夜经济”持续升温, 激活夜间消费活力肖华: 目睹前夫张艺谋“梅开三度”, 离婚后孤身一人再也不谈感情赵明、姜海荣晒荣耀200系列实拍人像, 普通用户也能拍出专业感姚明真笑了!辽宁豪取三连冠,郭艾伦和杨鸣拥抱,赵继伟表情抢镜家族荣耀之继承者:降智豪门家族如何修改银行卡预留的手机号,不用去银行,在家用手机直接搞定!天瑞视点 | 不是地产不是光伏, 有个大动向不可轻视!美国黑鲈“入侵”珠江, 成为新的霸主? 就连清道夫它们也能生吞!他曾担任煤炭工业部部长, 奉命组建神华集团, 留下了宝贵精神财富解读京东内部大调整, 严抓出勤, 取消微信非工作群等因涉嫌信披违法违规 超卓航科及董事长李光平等被警告及罚款欧冠经典!16年欧冠马竞再遇死敌皇马,西蒙尼又一次痛失冠军日产天籁2.0L自吸动力体验分享姚振华及宝能等新增2则被执行人信息, 执行标的合计22.88亿还记得“水哥”王昱珩吗? 曾协助警方成功破案, 如今怎样了?
最新回复(0)