代码之家  ›  专栏  ›  技术社区  ›  GurdeepS

对象阻抗失配发生在哪里/何时?

  •  1
  • GurdeepS  · 技术社区  · 14 年前

    当人们谈论物体阻抗失配时,失配发生在哪里?数据库不能从对象模型解释什么?

    谢谢

    2 回复  |  直到 12 年前
        1
  •  0
  •   NeuroScr    14 年前

    通常是因为对象可以从其他对象继承方法和属性,而在关系数据库中没有等价的方法和属性。

    有关详细信息,请参见以下内容:

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

        2
  •  0
  •   Jamin    12 年前

    基本区别在于,数据库/关系模型基于全局可用的数据集(行),而面向对象模型基于封装的或隐藏的(不全局可用)数据树。这两种方法在哲学上是相悖的——一种是公开所有(聚集到表中,按特征组织),另一种是隐藏所有(聚集到节点中,按事物组织)。为了从关系型数据转换为面向对象的数据,行中的全局特征数据必须被拆分并隐藏在对象中。为了从面向对象转变为关系型,对象中隐藏的对象数据必须收集成行并公开。这可能是很多工作,有很多不同的方法来处理,这取决于你的情况。