之前写过一个为什么我们要重复,可是,现在忍不住又要发发牢骚了
这是因为,我现在感觉到还是在重复
三层结构让我们不用重复修改所有层次,而只是修改某一层,来适应需求的变化
例如修改表示层以产生桌面应用或浏览器应用,修改数据存储层,来适应不同的数据库系统
ORM让我们享受到更多好处,例如,你不再为迁移到不同的数据库而去修改代码
MS的ENTERPRISE也很不错,为常见任务提供一个统一的解决方法,也省却了我们不少功夫
可是,问题就在于
我们有了业务对象,有了关系数据,我们用ORM将他们联系起来了
有一天,我们的业务对象变了,例如,我们需要多记录一只猫的胡须长度(乱扯的),结果我们更改了业务对象CAT,但是,我们还得更改数据库中的关系TABLECAT,为它多添加一个字段,这还不够,如果你用了ORM,你还得更改关系的映射,假如你不用ORM,那会更糟,你可能要更改CRUD操作中涉及到胡须长度属性的所有方法
ORM的好处是在这种情况下,让你可以固定的更改三处,假如你不用ORM,那你可能更改的就不是三处了,而且,你自己得一处一处对比你找到底需要更改哪处,结果是你得到更多的错误,需要更多的时间来调试和解决这些问题

为了这些问题,我很烦,相信各位也烦.真有不烦的哪位,就支个招吧
问题在于我们为什么不把对象存储为对象?
业务对象建立了,存在于内存了
跟存在于硬盘,存在于网络流中?有什么区别吗?只是介质不同罢了.
关系和对象这两种不一致的东西,让我们费劲的在两者间去转换,适应,以寻求解决方法.
ORM这东西,现在看来味道不错,可是,想想,他不过是我们吃不到香肠只能吃窝窝头的替补罢了,完了,我们还得叫,好吃,好吃.
我的开发经历中,对于重复,就是两种经验了:
一种是上次讨论CODESMITH时提到的代码的重复
第二种就是现在提到的,业务对象的变动和数据表示变动无法自适应的重复.
有重复就有抽像的余地,有重复就说明可以归纳,谁来给我归纳一下?