领域模型的本质是业务认知
设计的第一步永远是先理解业务概念
一、什么是领域模型
- 定义
-
- 概念模型:领域模型定义了领域内的关键概念及其关系。
- 现实世界的反映:描述现实世界的事物及其关系。
- 问题空间的理解:反映对问题空间本质的理解。
- 领域模型与数据库模型
-
- 关系:虽然有关系,但领域模型核心在问题域中,而非数据库。
- 重点:领域模型关注的是问题域的概念和关系,而数据库模型关注的是数据存储。
二、领域模型反映业务认知的重要性
- 知识传递
-
- 天文学例子:通过太阳、地球、月亮的关系来理解宇宙运行规律。
- 业务例子:通过货运系统的记账需求,理解财务账款类型及其关系。
- 对业务的理解
-
- 财务系统例子:理解应收账款、预收账款、应付账款、预付账款的定义和关系。
- 业务场景:通过具体业务场景,理解领域模型如何反映现实业务需求。
三、通过例子说明建立共同认知的重要性
- 案例研究
-
- 货运系统:处理记账需求和业务流水,确保信息同步到财务系统。
- 问题:不同部门的抱怨和问题,包括账目记录不准确、新业务通知遗漏等。
- 解决方法
-
- 领域模型提升认知:通过领域模型的深度理解,减少错误,提高系统准确性和一致性。
- 事件驱动模型:将业务系统与财务系统解耦,通过领域事件简化系统设计。
- 实际效果
-
- 业务系统和财务系统的解耦:简化了系统设计,减少了开发部门的负担。
- 提升沟通和开发质量:通过共同的领域模型认知,提升了产品的沟通质量、开发质量和架构质量。
四、总结
- 领域模型的定义
-
- 特定领域的业务概念和关系描述:领域模型是对特定领域内业务概念及其关系的描述。
- 反映重要认知:领域模型反映了对该领域的重要业务认知,服务于软件开发活动。
- 领域模型的作用
-
- 提升认知和架构质量:正确的领域模型有助于建立更好的业务认知,同时带来更好的系统架构。
- 简化沟通工具:使用简化的UML图来表达领域模型,方便沟通和理解。
- 下一步
-
- 进一步探讨领域模型的应用:下一节课将通过例子说明,如何通过领域模型提升软件开发效率和业务响应速度。
课程要点
- 领域模型是业务认知的反映:定义特定领域内的概念及其关系,帮助理解业务本质。
- 领域模型的重要性:通过领域模型提升对业务的理解,支持软件开发,提升沟通、开发和架构质量。
- 案例研究和解决方法:通过具体例子说明如何通过领域模型解决实际问题,简化系统设计。