Шаблон отображения данных - Data mapper pattern
В программной инженерии , то модель картографа данных является архитектурным узором . Он был назван Мартином Фаулером в его книге 2003 года « Шаблоны архитектуры корпоративных приложений» . Интерфейс объекта, соответствующего этому шаблону, будет включать такие функции, как 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)
- Doctrine2 Object Relational Mapper (ORM) и уровень абстракции базы данных
- Цикл ORM (PHP DataMapper ORM и механизм моделирования данных)
Python
- Библиотека SQLAlchemy
- библиотека mincePy
Рубин
- Библиотека DataMapper (на самом деле эта библиотека реализовала шаблон проектирования Active Record, его преемник, DataMapper 2 (теперь ROM ), нацеленный на фактическую реализацию шаблона проектирования, в честь которого он был назван)
Эликсир
- Фреймворк Ecto Persistence