| EAA 模式目录 |

身份映射

通过将每个加载的对象保存在映射中,确保每个对象只加载一次。在引用对象时,使用映射查找对象。

有关完整描述,请参阅 EAA 模式195

一句古老的谚语说,戴着两块手表的人永远不知道现在几点。如果两块手表令人困惑,那么从数据库加载对象可能会让你陷入更大的混乱。如果你不小心,你可能会将来自同一数据库记录的数据加载到两个不同的对象中。然后,当你更新这两个对象时,你将需要正确地将更改写入数据库,这将是一件很有趣的事情。

与之相关的是一个明显的性能问题。如果你多次加载相同的数据,你将承担远程调用的昂贵成本。因此,避免重复加载相同的数据不仅有助于正确性,还可以提高应用程序的速度。

身份映射记录了在单个业务事务中从数据库读取的所有对象。每当你需要一个对象时,你首先检查身份映射以查看你是否已经拥有它。