浏览 6780 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-12-16
看看老马的定义: 引用 Active Record
An object that wraps a row in a database table or view, encapsulates the database access, and adds domain logic on that data. 该定义表明Active Record是对于数据库某一个表或视图行的封装,也就是用数据行的方式来建立DomainModel,还是会有阻抗失配的情况吧...... 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-12-16
partech 写道 用ActiveRecord能否完美的匹配DomainModel,对此我有些疑问,你有何感想?
看看老马的定义: 引用 Active Record
An object that wraps a row in a database table or view, encapsulates the database access, and adds domain logic on that data. 该定义表明Active Record是对于数据库某一个表或视图行的封装,也就是用数据行的方式来建立DomainModel,还是会有阻抗失配的情况吧...... 难道你看现在ror那些例子里边的Active Record Model像是某一个表或视图行的封装? 老马说的不是一码事吧 |
|
返回顶楼 | |
发表时间:2006-12-16
yuxie 写道 难道你看现在ror那些例子里边的Active Record Model像是某一个表或视图行的封装?
老马说的不是一码事吧 好了,例如:在电信行业有很多客户受理单,订购商品单、移机单、拆机单,增购商品单。 我都把它们统统的放到CustomerOrder表中,你用ActiveRecord如何表示?主要是看看它如何处理复杂的类层次结构。 |
|
返回顶楼 | |
发表时间:2006-12-17
partech 写道 yuxie 写道 难道你看现在ror那些例子里边的Active Record Model像是某一个表或视图行的封装?
老马说的不是一码事吧 好了,例如:在电信行业有很多客户受理单,订购商品单、移机单、拆机单,增购商品单。 我都把它们统统的放到CustomerOrder表中,你用ActiveRecord如何表示?主要是看看它如何处理复杂的类层次结构。 我理解partech兄的意思也许是: 光一个ActiveRecord不能完全表达DomainModel. 还有很多业务逻辑,不是用一个ActiveRecord就能搞定的. |
|
返回顶楼 | |
发表时间:2006-12-18
partech 写道 yuxie 写道 难道你看现在ror那些例子里边的Active Record Model像是某一个表或视图行的封装?
老马说的不是一码事吧 好了,例如:在电信行业有很多客户受理单,订购商品单、移机单、拆机单,增购商品单。 我都把它们统统的放到CustomerOrder表中,你用ActiveRecord如何表示?主要是看看它如何处理复杂的类层次结构。 受理单是parent class,订购商品单、移机单、拆机单,增购商品单是子类,请看ror里面的关于继承的用法,用的是单表继承。 不过我同意楼主的看法,很多情况Active Record是没有办法处理的,或者处理得不大好…… |
|
返回顶楼 | |
发表时间:2006-12-18
除了单表继承某些情况下不一定适用以外,Active Record还是能满足大部分需求的吧。例外,单表继承不合适的情况,可以考虑用组合嘛。
|
|
返回顶楼 | |
发表时间:2006-12-18
比如遗留系统,就算是很多现在的数据库也不是按照ActiveRecord形式弄得,比如我们公司用的聚源数据库……这样的系统,基本上没有可能用ActiveRecord的
|
|
返回顶楼 | |