fbpx
维基百科

数据映射器模式

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

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

实现

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

Java/.NET

Node.js/TypeScript

  • Bookshelf.js[2]库。
  • TypeORM[3]库。
  • Massive.js[4]库。
  • Prisma[5]
  • Objection.js[6]库。
  • MikroORM[7]库。

PHP

Python

Ruby

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

Elixir

参见

引用

  1. ^ Fowler, Martin. Patterns of enterprise application architecture. Addison-Wesley. 2003 [2020-11-08]. ISBN 978-0-321-12742-6. (原始内容于2016-12-23). 映射器层在对象和数据库之间移动数据同时保持它们相互独立并独立于映射器自身。 
  2. ^ Bookshelf.js (页面存档备份,存于互联网档案馆
  3. ^ TypeORM
  4. ^ Massive.js (页面存档备份,存于互联网档案馆
  5. ^ Prisma (页面存档备份,存于互联网档案馆
  6. ^ Objection.js (页面存档备份,存于互联网档案馆
  7. ^ MikroORM (页面存档备份,存于互联网档案馆
  8. ^ Atlas ORM – Atlas. [2020-11-08]. (原始内容于2021-01-22). 
  9. ^ . Doctrine2. [2013-04-02]. (原始内容存档于2013-07-21). 
  10. ^ Cycle (页面存档备份,存于互联网档案馆
  11. ^ Cycle ORM – Cycle. [2020-11-08]. (原始内容于2020-11-11). 
  12. ^ mincePy
  13. ^ DataMapper (页面存档备份,存于互联网档案馆
  14. ^ ROM (页面存档备份,存于互联网档案馆
  15. ^ Ecto (页面存档备份,存于互联网档案馆

数据映射器模式, 在软件工程中, 对象映射器模式, data, mapper, pattern, 是一种架构模式, 它在martin, fowler的2003年著, 企业应用架构的模式, 书中命名, 符合这个模式的对象的接口将包括函数比如创建, 读取, 更新和删除, 它们对表示数据存储中领域实体类型的对象进行操作, 数据映射器是, 在持久化数据存储, 经常是关系数据库, 和内存中数据表示, 领域层, 之间, 进行双向转移的数据访问层, 这个模式的目标是, 保持内存中表示和持久化数据之间相互独立, 并独立于数据映射器. 在软件工程中 对象映射器模式 data mapper pattern 是一种架构模式 它在Martin Fowler的2003年著 企业应用架构的模式 书中命名 1 符合这个模式的对象的接口将包括函数比如创建 读取 更新和删除 它们对表示数据存储中领域实体类型的对象进行操作 数据映射器是 在持久化数据存储 经常是关系数据库 和内存中数据表示 领域层 之间 进行双向转移的数据访问层 这个模式的目标是 保持内存中表示和持久化数据之间相互独立 并独立于数据映射器自身 数据访问层是由一个或多个映射器 或数据访问对象 构成 它们进行数据转移 映射器实现在范围上有所不同 通用映射器将处理很多不同的领域实体类型 专用映射器只处理一种或一些 目录 1 实现 1 1 Java NET 1 2 Node js TypeScript 1 3 PHP 1 4 Python 1 5 Ruby 1 6 Elixir 2 参见 3 引用实现 编辑这个概念的实现可在很多编程语言的各种框架中见到 Java NET 编辑 MyBatis持久化框架 Hibernate NHibernate 持久化框架 Node js TypeScript 编辑 Bookshelf js 2 库 TypeORM 3 库 Massive js 4 库 Prisma 5 Objection js 6 库 MikroORM 7 库 PHP 编辑 Atlas ORM 数据映射器 表格数据网关 查询建造器和PDO包装器 8 Doctrine2对象关系映射器 ORM 和数据库抽象层 9 Cycle 10 ORM PHP数据映射器ORM和数据建模引擎 11 Python 编辑 SQLAlchemy库 mincePy 12 库 Ruby 编辑 DataMapper 13 库 实际上这个库实现了主动记录设计模式 它的后继者DataMapper 2 现在的ROM 14 致力于实际上实现它所命名的这个设计模式 Elixir 编辑 Ecto 15 持久化框架 参见 编辑主动记录模式 对象关系映射引用 编辑 Fowler Martin Patterns of enterprise application architecture Addison Wesley 2003 2020 11 08 ISBN 978 0 321 12742 6 原始内容存档于2016 12 23 映射器层在对象和数据库之间移动数据同时保持它们相互独立并独立于映射器自身 Bookshelf js 页面存档备份 存于互联网档案馆 TypeORM Massive js 页面存档备份 存于互联网档案馆 Prisma 页面存档备份 存于互联网档案馆 Objection js 页面存档备份 存于互联网档案馆 MikroORM 页面存档备份 存于互联网档案馆 Atlas ORM Atlas 2020 11 08 原始内容存档于2021 01 22 Doctrine2 and ActiveRecord Doctrine2 Doctrine2 2013 04 02 原始内容存档于2013 07 21 Cycle 页面存档备份 存于互联网档案馆 Cycle ORM Cycle 2020 11 08 原始内容存档于2020 11 11 mincePy DataMapper 页面存档备份 存于互联网档案馆 ROM 页面存档备份 存于互联网档案馆 Ecto 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title 数据映射器模式 amp oldid 73660152, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。