我不太相信对象关系阻抗不匹配?

poo*_*poo 5 orm

http://en.wikipedia.org/wiki/Object-relational_impedance_mismatch

我参与过几个项目,它们都使用了以数据库为中心的设计,而且似乎工作得很好。

看起来这是一个蓬勃发展的新想法,现在看起来不错,但它的价值还有待检验,还是我错了?

Gre*_*ech 4

对象关系不匹配的想法来自于当您尝试使用由关系数据库支持的面向对象编程方法时出现的问题。问题的根源在于,对象模型通常包含对象的层次结构,需要将其分解为多个表并从多个表中重建,而不是将对象作为一个整体进行存储。

然而,此时通常出现的争论是,如果您没有发现问题,那么这是您的错,因为您没有进行“正确的”面向对象,并且当您学习时,您会发现不匹配。 “正确地”进行面向对象。我们都知道面向对象是唯一“正确”的开发范例。

等一下。

许多系统不适合建模为面向对象的系统。事实上,对于像Web应用程序这样总体复杂度较低(局部复杂度较高)并且需要高并发性和可扩展性的事物,使用面向服务和消息传递技术可能是更好的选择。当以这种方式编写应用程序时,您往往会发现没有太多的对象关系不匹配,因为您不使用延迟加载和复杂对象层次结构之类的东西,并且您的对象是不可变的,因此它们不会需要被粉碎回数据库。

那么是否存在对象关系不匹配的情况呢?是的,如果您尝试将面向对象技术与关系数据库结合使用。但是,如果其他方法更适合您的应用程序,您可以通过不使用面向对象的技术来缓解这种情况。