Dependent Mapping

Dependent Mapping - Has one class perform the database mapping for a child class.
Dependent Mapping的原理是一个类(称为依赖者)依靠另外的类(称为所有者)来完成自己的数据库持久化的操作。每个依赖者有且仅有一个所有者。依赖者没有 Identity Field,所以没有针对依赖者的查找方法,所有的查找操作都是由其所有者来执行的。这种依赖关系同样可以形成一个层次结构。对于一个对象来说,除了其所有者和依赖于该对象的对象之外,不应该有其它内存中的对象拥有对该对象的引用。在UML里面,依赖者和所有者之间的关系表示为组合。
对数据库的更新操作可以通过简单的全部删除的依赖者,然后重新插入新的全部的依赖者来实现。使用Dependent Mapping的话,要跟踪所有者对象的变化就更困难了。
使用Dependent Mapping的两个前提条件:
  1. 一个依赖者有且仅有一个所有者。
  2. 除了所有者和依赖自己的对象之外,没有其它对此对象的引用。

在实际中,避免较大的依赖关系的层次结构。当使用Dependent Mapping时不推荐使用Unit of Work,因为后者可以自动跟踪对象的变化情况。

你可能感兴趣的:(数据结构,UML)