好的领域模型应该是什么样子?
好的领域模型应该长什么样子?
(资料图片)
DDD说,领域模型应该是可以准确表达业务需求的模型。
模型和领域模型是两个概念,模型可以是数据模型或服务模型,领域模型是以领域为核心的模型,是对领域知识严格组织和抽象得来的。
那,应该如何描述领域模型呢?
是UML图?还是编程代码?还是一个完整的书面文档?
这些仅仅是表达领域模型的一种载体,如果UML图、编程代码、书面文档不能传递出领域知识,那就不是领域模型。
一个好的领域模型应该包含如下特征:
用统一语言来表达领域中的概念;
涵盖了业务活动和规则等领域知识;
对领域内的知识做了适当的提炼和抽象;
建立了一个迭代演进的过程;
有助于业务人员和技术人员的交流;
所以,我们忘记载体,关注于他如何传递领域知识,并且有助于技术人员和业务人员的交流,那他就可以称为领域模型。
模型设计和模型实现其实是两件事情,就像在公司里面老板做战略取舍,基层做战术落地,在领域模型的设计和实现上应该也分开。
模型是作基本职责的分配,程序是模型的具体表达。
Eric Evans说:将分析、建模、设计、编程工作过度分离对模型驱动设计会产生不良影响。
所以要将分析、设计、实现统一到模型设计中考量。
在分析阶段,业务人员和技术人员在一起工作,建立准确和简洁的分析模型,直观传递不同角色对业务知识的理解。
在设计阶段,基于分析模型对模型中的设计进行改进,考虑职责的合理分配和协作,建立有指导意义的设计模型。
在实现阶段,代码忠实反映模型的设计,反映出模型中的领域和知识。
战略设计环节,识别出业务场景下,系统的限界上下文。
在限界上下文中,提取语义相关和功能相关的用例,作为分析建模的重要输入。
战术设计环节,通过用户故事迭代,逐步对比模型进行细化,引入设计模式,结合TDD开发等进行编码实现。
领域服务应该是一系列活动集合,是领域服务下的关键环节。
在每个关键环节,对于不同用户身份,应该有规则映射处理细节,这部分规则可以有机的、结构化的可视化出来,便于沟通。
领域服务应该和领域挂钩,指导每个关键领域下应该有的活动有哪些。
要想实现这些活动集的复用,就需要明确输入和输出,看得清输入、输出、关键流程才敢去复用。
总结来说,领域、领域服务、领域节点、业务身份的关键规则、为领域服务复用的输入和输出,都是可以被可视化和配置化起来的。
标签:
- 好的领域模型应该是什么样子?
- 异动快报:中水渔业(000798)12月21日10点55分触及涨停板 环球滚动
- 环球速递!邮你贷逾期两天还不上怎么办
- 每日热文:世界最大清洁能源走廊在长江建成 白鹤滩水电站最后一台机组投产
- 国电电力“三乘三”体系推动外部董事履职科学规范高效-视焦点讯
- 焦点滚动:三羊马最新公告:963万股首发原股东限售股11月30日解禁 占比12.03%
- 华阳变速(839946)12月19日游资资金净卖出12.47万元
- 奥瑞金:12月16日融券卖出金额106.37万元,占当日流出金额的3.25%|全球快消息
- 禹州市城市发展中心:当好主力军 共创文明城 环球观天下
- 新资讯:4-2!巴特勒32+8热火挺进东决 76人5年内4度止步次轮
- 梅西“窝窝金句”在阿根廷火了 环球热头条
- 陆庆娱乐(08052)接获清盘呈请
- 世界球精选!本周盘点(12.12-12.16):昊华科技周跌7.01%,主力资金合计净流出1403.86万元
- 粤电力A董秘回复:公司持有阳光保险3.5亿股,占阳光保险发行后总股本的3.04%,目前公司暂无减持计划|全球报道
- 安道麦A: 第九届董事会第十六次会议决议公告
- 河南鲁山:推动消防安全整治与“五星”创建深融合-天天视点
- 光库科技(300620)12月14日主力资金净卖出1712.24万元
- 考研准考证打印开始,同程旅行“考研房”预订量瞬时飞涨400% 天天消息
- 全球快看:金龙9座面包车报价
- 今日热议:用友网络(600588)12月13日主力资金净卖出7104.38万元
- 网贷逾期15年不还怎么办
- 华阳新材董秘回复:公司6万吨/年生物降解新材料项目投产前已成立了专业的销售公司
- 格力电器5000万元成立预制菜装备公司 扩大产品品类是家电企业的必由之路
- 世界新资讯:300万元善款支持抗疫!2022年郑州慈善冬季救助系列活动全面启动
- 【独家】北京首例!密云法院对猎杀野生动物被告人判惩罚性赔偿并责令道歉
- 早间公告:新亚制程拟7亿元收购杉杉新材料51%股权 永兴材料全资子公司恢复生产
- 环球热头条丨人造肉板块12月7日涨0.73%,来伊份领涨,主力资金净流出1.12亿元
- 股票行情快报:乐凯胶片(600135)12月6日主力资金净卖出150.94万元
- 深圳东部最大交通枢纽雏形已现 总体工程量已经完成七成
- 深圳建设交通强市行动计划发布 提出这些目标