En ingeniería de software , el patrón de mapeo de datos es un patrón arquitectónico . Fue nombrado por Martin Fowler en su libro de 2003, Patterns of Enterprise Application Architecture . [ 1 ] La interfaz de un objeto que se ajusta a este patrón incluiría funciones como Crear, Leer, Actualizar y Eliminar, que operan sobre objetos que representan tipos de entidades de dominio en un almacén de datos.
Un mapeador de datos es una capa de acceso a datos que realiza la transferencia bidireccional de datos entre un almacén de datos persistente (a menudo una base de datos relacional ) y una representación de datos en memoria (la capa de dominio). El objetivo del patrón es mantener la representación en memoria y el almacén de datos persistente independientes entre sí y del propio mapeador de datos. Esto es útil cuando se necesita modelar y aplicar procesos de negocio estrictos a los datos en la capa de dominio que no se asignan directamente al almacén de datos persistente. [ 2 ] La capa se compone de uno o más mapeadores (u objetos de acceso a datos ), que realizan la transferencia de datos. Las implementaciones de mapeadores varían en alcance. Los mapeadores genéricos manejarán muchos tipos diferentes de entidades de dominio; los mapeadores dedicados manejarán uno o pocos.
Implementaciones
Es posible encontrar implementaciones de este concepto en diversos marcos de trabajo para numerosos entornos de programación.
Java/.NET
- Marco de persistencia MyBatis
- Marco de persistencia Hibernate ( NHibernate )
Node.js / TypeScript
- Biblioteca Bookshelf.js
- Biblioteca TypeORM
- Biblioteca Massive.js
- Prisma
- Biblioteca Objection.js
- Biblioteca MikroORM
- Mapeador de grafos de objetos (OGM) de LDkit para fuentes de datos RDF
PHP
- Atlas ORM (mapeador de datos, puerta de enlace de datos de tabla, constructor de consultas y envoltorio PDO) [ 3 ]
- Doctrine2 Object Relational Mapper (ORM) y la capa de abstracción de la base de datos [ 4 ]
- Cycle ORM (PHP DataMapper ORM y motor de modelado de datos) [ 5 ]
- ORM CakePHP (ORM DataMapper de PHP, constructor de consultas y envoltorio PDO)
Perl
- DBIx [ 6 ]
Pitón
- Biblioteca SQLAlchemy
- Biblioteca mincePy
Rubí
- Biblioteca DataMapper (en realidad, esta biblioteca implementaba el patrón de diseño Active Record; su sucesora, DataMapper 2 (ahora ROM ), tenía como objetivo implementar realmente el patrón de diseño que le da nombre).
Elixir
- Marco de persistencia ecto
Véase también
- Patrón de registro activo : concepto en ingeniería de software
- Mapeo objeto-relacional : técnica de programación. Páginas que muestran breves descripciones de destinos de redireccionamiento.
Referencias
- ↑ Fowler, Martin (2003). Patrones de arquitectura de aplicaciones empresariales . Addison-Wesley. ISBN 978-0-321-12742-6.
- ↑ "¿Cuál es la diferencia entre Active Record y Data Mapper?" .
- ↑ "Atlas ORM – Atlas" .
- ↑ "Doctrine2 y ActiveRecord – Doctrine2" . Doctrine2 . Archivado del original el 21/07/2013 . Consultado el 02/04/2013 .
- ↑ "Cycle ORM – Cycle" . GitHub .
- ↑ "desbordamiento de pila – DBIx" .
- patrones de diseño de software
- Patrón arquitectónico (informática)