首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

实体类应该有增删节查的Operation么

2013-01-05 
实体类应该有增删改查的Operation么?我们正在设计一个系统,他们说实体类都要实现增删改查的方法。理由是以

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

到底哪种正确呢?


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

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

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

热点排行