В программной инженерии , то модель картографа данных является архитектурным узором . Он был назван Мартином Фаулером в его книге 2003 года « Шаблоны архитектуры корпоративных приложений» . [1] Интерфейс объекта, соответствующего этому шаблону, будет включать такие функции, как Create, Read, Update и Delete, которые работают с объектами, представляющими типы сущностей предметной области в хранилище данных.
Data Mapper - это уровень доступа к данным, который выполняет двунаправленную передачу данных между постоянным хранилищем данных (часто реляционной базой данных ) и представлением данных в памяти (уровень домена). Цель шаблона - сохранить независимость представления в памяти и постоянного хранилища данных друг от друга и от самого средства отображения данных. Уровень состоит из одного или нескольких сопоставителей (или объектов доступа к данным), выполняющих передачу данных. Реализации Mapper различаются по объему. Универсальные преобразователи будут обрабатывать множество различных типов сущностей предметной области, а выделенные преобразователи будут обрабатывать один или несколько.
Реализации [ править ]
Реализации концепции можно найти в различных структурах для многих сред программирования.
Java / .NET [ править ]
- Фреймворк сохраняемости MyBatis
- Фреймворк сохраняемости Hibernate ( NHibernate )
Node.js / TypeScript [ править ]
- Библиотека Bookshelf.js
- Библиотека TypeORM
- Библиотека Massive.js
- Призма
- Библиотека Objection.js
- Библиотека MikroORM
PHP [ править ]
- Atlas ORM (преобразователь данных, шлюз табличных данных, построитель запросов и оболочка PDO) [2]
- Doctrine2 Object Relational Mapper (ORM) и уровень абстракции базы данных [3]
- Цикл ORM (ORM PHP DataMapper и механизм моделирования данных) [4]
Python [ править ]
- Библиотека SQLAlchemy
- библиотека mincePy
Руби [ править ]
- Библиотека DataMapper (на самом деле эта библиотека реализовала шаблон проектирования Active Record, его преемник, DataMapper 2 (теперь ROM ), нацеленный на фактическую реализацию шаблона проектирования, в честь которого он был назван)
Эликсир [ править ]
- Фреймворк Ecto Persistence
См. Также [ править ]
- Шаблон активной записи
- Объектно-реляционное отображение
Ссылки [ править ]
- ^ Фаулер, Мартин (2003). Паттерны архитектуры корпоративных приложений . Эддисон-Уэсли. ISBN 978-0-321-12742-6.
- ^ "Атлас ORM - Атлас" .
- ^ «Doctrine2 и ActiveRecord - Doctrine2» . Доктрина2 . Архивировано из оригинала на 2013-07-21 . Проверено 2 апреля 2013 .
- ^ «Цикл ORM - Цикл» .