Skip to content

Repository

Fernando Calmet edited this page Mar 12, 2022 · 2 revisions

Github Kofi LinkedIn Khanakat

En medio entre el dominio y las capas de mapeo de datos utilizando una interfaz similar a una colección para acceder a los objetos del dominio.

Para una descripción completa ver P de EAA página 322.

imagen01

Un sistema con un modelo de dominio complejo a menudo se beneficia de una capa, como la proporcionada por Data Mapper (165), que aísla los objetos de dominio de los detalles del código de acceso a la base de datos. En tales sistemas, puede valer la pena construir otra capa de abstracción sobre la capa de mapeo donde se concentra el código de construcción de consultas. Esto se vuelve más importante cuando hay una gran cantidad de clases de dominio o muchas consultas. En estos casos en particular, agregar esta capa ayuda a minimizar la lógica de consulta duplicada.

Un Repositorio media entre el dominio y las capas de mapeo de datos, actuando como una colección de objetos de dominio en memoria. Los objetos del cliente construyen especificaciones de consulta de forma declarativa y las envían al Repositorio para su satisfacción. Los objetos se pueden agregar y eliminar del Repositorio, como se puede hacer con una simple colección de objetos, y el código de mapeo encapsulado por el Repositorio llevará a cabo las operaciones apropiadas entre bastidores. Conceptualmente, un Repositorio encapsula el conjunto de objetos persistentes en un almacén de datos y las operaciones realizadas sobre ellos, proporcionando una vista más orientada a objetos de la capa de persistencia. El repositorio también respalda el objetivo de lograr una separación clara y una dependencia unidireccional entre el dominio y las capas de mapeo de datos.

También puede encontrar una buena descripción de este patrón en Diseño impulsado por dominio .