| EAA 模式目录 |

数据映射器

一个映射器层 (473),它在对象和数据库之间移动数据,同时保持它们彼此独立,也独立于映射器本身。

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

对象和关系型数据库具有不同的数据结构机制。对象中的许多部分,例如集合和继承,在关系型数据库中不存在。当您构建一个包含大量业务逻辑的对象模型时,使用这些机制来更好地组织数据及其相关行为非常有价值。这样做会导致不同的模式;也就是说,对象模式和关系模式不匹配。

您仍然需要在两种模式之间传输数据,而这种数据传输本身就成为一种复杂性。如果内存中的对象了解关系型数据库结构,则一方的更改往往会波及到另一方。

数据映射器是一个软件层,它将内存中的对象与数据库隔离开来。它的职责是在两者之间传输数据,并使它们彼此隔离。使用数据映射器,内存中的对象甚至不需要知道存在数据库;它们不需要任何 SQL 接口代码,当然也不需要了解数据库模式。(数据库模式始终不知道使用它的对象。)由于它是一种映射器形式 (473),因此数据映射器本身甚至对领域层也是未知的。