1
1
|
2
0
对象关系映射是一种糟糕的做法。我的意思是,它倾向于生成只能松散地描述为“关系”的数据模式,因此它们伸缩性差,数据完整性差。 这是因为恰当的关系模式经历了规范化过程,而O-R映射的结果通常是作为数据库表实现的对象类。这些通常不是标准化的,而是为面向对象开发人员的即时便利而设计的。 当然,在持久性数据需求最小的情况下,这并不重要。 然而,我曾经为一家航运公司工作,该公司通过接管其他几家公司而发展壮大,并将集成操作系统的开发(以取代其继承的各种公司特定系统)外包给了一家使用OO方法的公司,该公司使用O-R映射生成的数据模式。正在开发的系统的性能特征非常差,数据模式非常复杂,以至于航运公司在大约两年的开发之后——甚至在投入使用之前就放弃了它! 这是O-R映射的直接结果;模式中最糟糕的复杂性(以及由此产生的糟糕性能)是由仅仅作为OO设计过程的工件创建的表的存在造成的——它们反映了屏幕布局,而不是数据关系。 |