数据映射器模式

在软件工程中,对象映射器模式(data mapper pattern)是一种架构模式。它在Martin Fowler的2003年著《企业应用架构的模式》书中命名。符合这个模式的对象的接口将包括函数比如创建、读取、更新和删除,它们对表示数据存储中领域实体类型的对象进行操作。

数据映射器,是在持久化数据存储(经常是关系数据库),与内存中数据表示(业务领域层)之间,进行双向转移的数据访问层。这个模式的目标是,保持内存中表示和持久化数据之间相互独立,并独立于数据映射器自身。数据访问层是由一个或多个映射器(或数据访问对象)构成,它们进行数据转移。映射器实现在范围上有所不同。通用映射器将处理很多不同的领域实体类型,专用映射器只处理一种或一些。

实现
这个概念的实现可在很多编程语言的各种框架中见到:

*Java/.NET
** MyBatis持久化框架。
** Hibernate(NHibernate)持久化框架。

*Node.js/TypeScript
** Bookshelf.js库。
** TypeORM库。
** Massive.js库。
** Prisma库。
** Objection.js库。
** MikroORM库。

*PHP
** Atlas ORM(数据映射器、表格数据网关、查询建造器和PDO包装器)。
** Doctrine2(ORM和数据库抽象层)。
** Cycle ORM(PHP数据映射器ORM和数据建模引擎)。

*Python
** SQLAlchemy库。
** mincePy库。

*Ruby
** DataMapper库(实际上这个库实现了主动记录设计模式,它的后继者DataMapper 2(现在的ROM)致力于实际上实现它所命名的这个设计模式)。

*Elixir
** Ecto持久化框架。

参见

  • 主动记录模式
  • 对象关系映射

引用
外部链接
*[https://martinfowler.com/eaaCatalog/dataMapper.html Martin Fowler对数据映射器的定义]

评论 (0)

  • 还没有评论,来抢沙发吧。