当前位置: 代码迷 >> 开发方法 >> 实体类应该有增删改查的Operation么?解决办法
  详细解决方案

实体类应该有增删改查的Operation么?解决办法

热度:1985   发布时间:2013-02-26 00:00:00.0
实体类应该有增删改查的Operation么?
我们正在设计一个系统,他们说实体类都要实现增删改查的方法。
理由是以面向对象开发为模式,那么抽象对象的方法的时候,就要抽象出增删改查的方法。
我觉得蛮别扭,以前写程序实体类没有增删改查的方法的。

到底哪种正确呢?



------解决方案--------------------------------------------------------
“增删改查”实体是数据库对象的方法,而不是实体自己的方法。如果要求所有实体都必须实现具有“增删改查”的接口,其实是本末倒置的。

在帖子《(《应当重视ORM》的姊妹篇) 谈谈ORM触发器设计》我谈到,设计一个面向对象数据库的api接口协议的目的是对编程中用到的对象有着“光谱”的适应性,例如你可以直接把所使用的编程架构中原本的某种class的对象或者别人开发的应用类库中的对象直接放入自己的数据库(以及恢复出对象和它的所有属性值),而并不要求此对象必须集成某种你自己的接口协议。可想而知,如果要求别的应用都要依赖此面向对象数据库类库,那么就是本末倒置了,为实际应用设置了障碍。

然而,本末倒置总是被一般的程序员看上去“很省事”的做法。架构师的职责不是省事,而是开发那些一般程序员所不熟悉的、重要的观念。实体类不应该具有所谓的增删改查,也就是说实体类并不依赖于增删改查所在的类库而存在,增删改查所在的类库才需要较深入的设计知识,而不是图省事的。
  相关解决方案