关于ORM 的讨论

[quote][quote][quote]
类图是E-R 图的一个超集,所以我会选择先用面向对象的方式建立领域模型(分析类),然后两个分支并行的做数据库逻辑模型和领域模型的设计类。这样省去了数据库的概念模型。并且类图的表达能力要大于E-R 图,类图转换成表时也很多规则可以用的(跟概念模型转换为逻辑模型很像的),总之只要搞到满足特定的范式就OK 了。
这样也算ORM 了。[/quote]
两个分支并行?是一边设计领域模型,一边设计数据库表吗?这样不是混淆了设计的方法,同时应用面向对象和面向关系,这样设计不是会在领域模型中混入了关系的模式,使领域模型不伦不类。导致领域模型失去了简单性和明确性,难以理解。[/quote]
是一边设计领域模型(设计类),一边设计数据库表,而这两个模型的基础都是领域模型(分析类中的实体类),再将类映射到表。这样恰恰可以将数据库模式和领域模型解耦。在数据库这边可以根据相关范式做重构,领域模型那边完全按照面向对象的方式组织类之间的关系,分配职责等。[/quote]
先设计数据库表,再通过反向工程做ORM,可以这样做,但不能这样想。什么意思?就是我们的思想应该是先有领域对象,然后才是将领域对象持久化,这个才是ORM.
为什么可以反过来做,那是因为没有人说不可以,所以就可以了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值