领域模型vs E-R模型
2023-09-11 14:14:13 时间
我们之前要求设计的E-R Model是属于数据建模的范畴,E-R Model是数据模型的一种表现形式(数据建模不只是E-R Model一种表现形式) ,E-R Model以数据为中心,关注的是对象的实体和关系,建模时并不考虑Entity的行为。在E-R概念模型的基础上可以建立“关系数据模型”进而推导出“物理数据模型”,这是一条以E-R Model为起始的数据建模的路线
Domain Model是属于对象建模的范畴,它和E-R Model的分析具有很大的相似性,最大的区别我认为对象建模需要为对象建立职责(对象的行为),而正因为行为的存在衍生出时序、多态等等对象模型比之数据模型所特有的东西。 从《DDD》的建模分析推导过程,我实在看不出在建立Domain Model之前有建立E-R Model的必要性。但是正如上面帖子里所讨论的,数据建模优先还是对象建模优先,对专家级别的人来说也是由其经验和偏好所决定的。在CMS项目里面,我觉得数据模型上的复杂度并不是很高,我想Domain Model优先可能合适一点。Domain Model到什么地步才会有数据模型或者是关系数据表能确定?我想还是在对象和其属性大致确定的时候比较合适。
最后,我们还提到了概念模型(conceptual model),容易让人混淆的是不管是数据模型还是对象模型都会有 概念的层面。在数据建模中通常将E-R Model就称之为概念数据模型(接下来的层面是关系数据模型和物理数据模型);在对象模型中,对象图通常是从粗到细具有不同的level,可以将只考虑对象实体的划分和关系的建立的层面称之为概念模型(可参考《Analysis Pattern》)
相关文章
- 程序员:编程能力vs职业技能,哪个更重要
- xfs vs jfs vs reiserfs
- [Typescript] Function Overloads vs. Union Types
- [Python] Understand Mutable vs. Immutable objects in Python
- Stack based vs Register based Virtual Machine Architecture
- 深入学习SAP UI5框架代码系列之三:HTML原生事件 VS UI5 Semantic事件
- Atitit rdmng 研发管理重要的领域 目录 第一章 编程语言1 第一节 Dsl1 第二章 编程方法与理念 通用化vs 专用化1 第一节 动态化1 第三章 框架与工具 通用vs专用
- Atitit enhance dev eff read req提升开发效率 可读性规范 目录 1. 提升效率的俩大原则1 2. 命名规范 见名字知道意思1 3. 层次结构缩减 单层 vs 双
- atitit 高扩展性解决方案 功能扩展法 v2 t66.docx atitit 高扩展性解决方案.docx 1. 功能扩展 vs 性能扩展2 1.1. 人无远虑,必有近忧。
- Atitit.web ui 组件化 vs mvc
- 使用体验神似VS Code?三步带你了解华为云CloudIDE前世今生
- “进大厂大半年,每个月都想走!”大公司 VS 小公司到底该如何选择? | 必看
- 深度学习图像处理技术篇(一):YOLOv4 VS YOLOv4-tiny