OO在软件开发进化史上大概相当于无脊椎动物向有脊椎动物的进化。
有了犀利的脊椎,OO在各个战场上窜下跳,进趋如意,以至于近 日奠定编程王者思维的桂冠。
但是进化是残酷的。
人类在最近几百年,几十年之迅速变化,令软件需求也与时俱 进,千变万化,朝令夕改时有发生。
有脊椎动物的脊椎被折磨得死去活来。
----------------------------------传说中的废话间隔线 ----------------------------------
Hibernate作为持久层OO的集大成者,无疑将 这个OO的刚性推进了一步。
但是如果数据库发生了变更,如果是轻微的变更,HIBERNATE尚可扭一下腰就解决了,
如果是大的变更,HIBERNATE就要扭断了腰了。
有人说了,需求不清楚,或设计者不够厉害,我认为,这固然是原因的一个方面,但 是另一方面
厉害的设计者应该也是吃了不少苦,也是从菜鸟进化来的吧。
所以刚性的OO也有两面性。
所以我们提倡面向元数据编程,但是纯粹的元数据编程也是不可取的,我们的目的是在元数据和OO的刚性之间
能够“骑墙”,进可 攻,退可守。
总而言之,我们通过元数据编程在有脊椎和无脊椎之间的选择之间设计了一套DNA,使之快速进化,或快速重新进化。
如同每个常规的人是在妈妈的肚子里面经历十个月从无脊椎进化到有脊椎一样,DNA是不可或缺的路线纲领。
后面将谈一下实现柔性持久层OO的思路...
本文探讨了面向对象(OO)设计在软件开发中的局限性,特别是在需求频繁变动的情况下。以Hibernate为例,分析了OO刚性带来的挑战,并提出了面向元数据编程的概念,旨在结合元数据的灵活性与OO的优势,实现更柔性的持久层解决方案。
302

被折叠的 条评论
为什么被折叠?



