
好的领域模型应该长什么样子?DDD说,领域模型应该是可以准确表达业务需求的模型。模型和领域模型是两个概念,模型可以是数据模型或服务模型
2022-12-20 20:16:29
好的领域模型应该长什么样子?
(相关资料图)
DDD说,领域模型应该是可以准确表达业务需求的模型。
模型和领域模型是两个概念,模型可以是数据模型或服务模型,领域模型是以领域为核心的模型,是对领域知识严格组织和抽象得来的。
那,应该如何描述领域模型呢?
是UML图?还是编程代码?还是一个完整的书面文档?
这些仅仅是表达领域模型的一种载体,如果UML图、编程代码、书面文档不能传递出领域知识,那就不是领域模型。
一个好的领域模型应该包含如下特征:
用统一语言来表达领域中的概念;
涵盖了业务活动和规则等领域知识;
对领域内的知识做了适当的提炼和抽象;
建立了一个迭代演进的过程;
有助于业务人员和技术人员的交流;
所以,我们忘记载体,关注于他如何传递领域知识,并且有助于技术人员和业务人员的交流,那他就可以称为领域模型。
模型设计和模型实现其实是两件事情,就像在公司里面老板做战略取舍,基层做战术落地,在领域模型的设计和实现上应该也分开。
模型是作基本职责的分配,程序是模型的具体表达。
Eric Evans说:将分析、建模、设计、编程工作过度分离对模型驱动设计会产生不良影响。
所以要将分析、设计、实现统一到模型设计中考量。
在分析阶段,业务人员和技术人员在一起工作,建立准确和简洁的分析模型,直观传递不同角色对业务知识的理解。
在设计阶段,基于分析模型对模型中的设计进行改进,考虑职责的合理分配和协作,建立有指导意义的设计模型。
在实现阶段,代码忠实反映模型的设计,反映出模型中的领域和知识。
战略设计环节,识别出业务场景下,系统的限界上下文。
在限界上下文中,提取语义相关和功能相关的用例,作为分析建模的重要输入。
战术设计环节,通过用户故事迭代,逐步对比模型进行细化,引入设计模式,结合TDD开发等进行编码实现。
领域服务应该是一系列活动集合,是领域服务下的关键环节。
在每个关键环节,对于不同用户身份,应该有规则映射处理细节,这部分规则可以有机的、结构化的可视化出来,便于沟通。
领域服务应该和领域挂钩,指导每个关键领域下应该有的活动有哪些。
要想实现这些活动集的复用,就需要明确输入和输出,看得清输入、输出、关键流程才敢去复用。
总结来说,领域、领域服务、领域节点、业务身份的关键规则、为领域服务复用的输入和输出,都是可以被可视化和配置化起来的。
好的领域模型应该长什么样子?DDD说,领域模型应该是可以准确表达业务需求的模型。模型和领域模型是两个概念,模型可以是数据模型或服务模型
网贷逾期一般会上征信,有些借贷机构在用户逾期后一天后就会上报给征信机构,而有些借贷机构则是会在几天后上报给征信机构,因为有些借贷机构可
安派科(ANPC US):2022年H1财报实现营收77 9万美元;每股收益为-5 60美元。
(程景伟林荫万珺)据广东省林业局19日消息,大批候鸟近日抵达广东过冬,国家一级保护野生动物、有“鸟界国宝”之称的东方白鹳更是成群现身广州
进一步对上述企业进行专利综合指数分析,平安集团与腾讯位列第一梯队
健康12月17日,市医疗保障局、市人社局发布通知,将“复方氨酚烷胺胶囊”等6个药品临时纳入北京市医疗保险、工伤保险药品报销范围。通知明确,
网贷逾期一般会上征信,有些借贷机构在用户逾期后一天后就会上报给征信机构,而有些借贷机构则是会在几天后上报给征信机构,因为有些借贷机构可
理财小白要注意,基金定投很可能是骗局一场
□所有服装纤维从一个干燥环境进入相对潮湿环境中,都会吸收空气或人体蒸发的水分,吸湿过程中会产生热能,吸湿越多,放热就越多。检测显示,
文|闻?总编|唐迪想有个代步工具,但又不想受堵车限制,不需要交停车费,能支持较远通勤,还只有少量预算,那现在可以来看看五星钻豹新国标电动
凤凰网科技讯12月16日消息,FF公司于当地时间12月15日公布了融资进展及产品升级,并表示FF91Futurist预计于2023年3月开始量产,预计在预计于4
明敏发自凹非寺量子位|公众号QbitAI一年一度,Nature年度十大人物出炉!今年的科学界,疫情研究依旧是重要话题,有3位学者因此入选,他们在追
证券代码:603165 证券简称:荣晟环保 公告编号:2022-108 浙江荣晟环保纸业股份有限公司
独立董事作为内幕信息知情者需恪守信息保密原则,作为专业人员应充分了解公司的经营状况并保证信息的真实客观,作为虚假信息的防火墙,要保护
杨洁导演拍摄的《西游记》至今仍是经典,剧中的每个人物几乎都充分诠释了角色的魅力。但是有一位演员,因为杨洁导演的失信,《西游记》拍摄完