加载中...

数据映射器模式(Data Mapper)引入一个独立的映射器层,负责在领域对象与数据库表之间双向搬运数据:领域对象不包含任何持久化代码,数据库结构也不必与对象结构一致。该模式出自 Martin Fowler《企业应用架构模式》。
映射器读取数据库记录并组装领域对象,或把对象状态转换为 SQL 写回;对象与表之间的差异(继承、值对象内嵌、字段改名)都在映射配置中消化。
Hibernate、MyBatis、Doctrine、TypeORM(Data Mapper 模式)等 ORM 属于此类;领域驱动设计通常要求用数据映射器保持领域模型纯净。
优点是领域模型与数据库彻底解耦、可独立演化与测试;缺点是需要额外的映射层与配置,简单场景比活动记录模式繁琐。

登录 后参与讨论
暂无讨论,来发表第一条评论吧