好的领域模型应该长什么样子?
DDD说,领域模型应该是可以准确表达业务需求的模型。
(资料图)
模型和领域模型是两个概念,模型可以是数据模型或服务模型,领域模型是以领域为核心的模型,是对领域知识严格组织和抽象得来的。
那,应该如何描述领域模型呢?
是UML图?还是编程代码?还是一个完整的书面文档?
这些仅仅是表达领域模型的一种载体,如果UML图、编程代码、书面文档不能传递出领域知识,那就不是领域模型。
一个好的领域模型应该包含如下特征:
用统一语言来表达领域中的概念;
涵盖了业务活动和规则等领域知识;
对领域内的知识做了适当的提炼和抽象;
建立了一个迭代演进的过程;
有助于业务人员和技术人员的交流;
所以,我们忘记载体,关注于他如何传递领域知识,并且有助于技术人员和业务人员的交流,那他就可以称为领域模型。
模型设计和模型实现其实是两件事情,就像在公司里面老板做战略取舍,基层做战术落地,在领域模型的设计和实现上应该也分开。
模型是作基本职责的分配,程序是模型的具体表达。
Eric Evans说:将分析、建模、设计、编程工作过度分离对模型驱动设计会产生不良影响。
所以要将分析、设计、实现统一到模型设计中考量。
在分析阶段,业务人员和技术人员在一起工作,建立准确和简洁的分析模型,直观传递不同角色对业务知识的理解。
在设计阶段,基于分析模型对模型中的设计进行改进,考虑职责的合理分配和协作,建立有指导意义的设计模型。
在实现阶段,代码忠实反映模型的设计,反映出模型中的领域和知识。
战略设计环节,识别出业务场景下,系统的限界上下文。
在限界上下文中,提取语义相关和功能相关的用例,作为分析建模的重要输入。
战术设计环节,通过用户故事迭代,逐步对比模型进行细化,引入设计模式,结合TDD开发等进行编码实现。
领域服务应该是一系列活动集合,是领域服务下的关键环节。
在每个关键环节,对于不同用户身份,应该有规则映射处理细节,这部分规则可以有机的、结构化的可视化出来,便于沟通。
领域服务应该和领域挂钩,指导每个关键领域下应该有的活动有哪些。
要想实现这些活动集的复用,就需要明确输入和输出,看得清输入、输出、关键流程才敢去复用。
总结来说,领域、领域服务、领域节点、业务身份的关键规则、为领域服务复用的输入和输出,都是可以被可视化和配置化起来的。
标签:
日前,我们在最新一批工信部申报目录中发现了别克新款昂科威PLUS的申报图,新车的外观设计变化较大,整体上
社交与招聘的相爱相杀。
北京日报客户端|记者张蕾5月15日是全国投资者保护宣传日。上午,北京金融法院召开新闻通报会,向社会通报了
从“网红”到“长红”各地文旅探路“流量”变“留量”---今年以来,我国文旅业全面升温、强劲复苏。文化...
菲律宾国会参议院首届中文培训班12日圆满结业。43名来自菲律宾参议院的学员畅谈学习中文的乐趣与收获,表示
欢迎观看本篇文章,小升来为大家解答以上问题。如何制作好吃的红烧草鱼,草鱼的做法很多人还不知道,现在让
导语:成立二十一年来,海康威视首次出现利润负增长。李平|作者砺石商业评论|出品1国内业务低迷、利润端首
孙铭徽:辽宁队G4四五个后卫消耗我赛前中暑我打完半场就干不动了,常林,孙铭徽,辽宁队,胡金秋,山西队,男子篮
那绿孔雀怎么叫呀
网贷逾期一般会上征信,有些借贷机构在用户逾期后一天后就会上报给征信机构,而有些借贷机构则是会在几天后
1、这个你可以去那个宠物商店问一下哈,那些一般在这个小区啊,或者是附近的都有那种宠物商店去问一下他们
1、风险辨识有如下几种主要方法:生产流程分析生产流程分析法,又称流程图法。2、生产流程又叫工艺流程或加
本文内容是由小编为大家搜集关于账单日和还款日,以及账单日和还款日的区别的资料,整理后发布的内容,让我
1、基础设施配套费是政府(具体实施单位各地不一致,如建设局,开发区,财政局,农村乡镇等等)向建设单位收取的
2020年,一段妈妈大声训斥女儿的视频,火遍全网。视频里,小女孩手握乒乓球拍,因为练球太累嚎啕大哭,而站
现代快报讯(记者徐红艳 文徐洋 摄)初夏体验快速升级,在西南风助力下,气温强势反弹。新的一周开场,气温
1、《穿越时空的爱恋》这么多穿越剧认为最不错的了。2、穿越明朝《寻秦记》挺喜欢的。3、穿越秦朝《我和僵
1、你问的有点笼统了,人造草坪有很多的分类,有景观草,运动草,其中运动草又有很多细分,高尔夫球的,足
1、可是如今,她们却找得出各种机会,穿上自己最好的LaPerla内衣,在酒店里和情人约会60%的被调查女性承认
1、一般和手机的格式差不多,都是mpg,3gp,mp4格式,都是标清文件,高清的不支持,都要使用暴风转码或者格式
X 关闭
X 关闭