Está en la página 1de 2

Foro: DDD-Bloques de Construcción

a.- Definan los bloques de construcción del DDD

 Arquitectura en capas: El objetivo principal de DDD es aislar el dominio del resto del
sistema para que no dependa de otras funciones y así sea fácilmente mantenible. Por
ello DDD propone que la arquitectura del sistema se divida en al menos cuatro capas:
Presentación, Aplicación, Dominio e Infraestructura.
 Capa de Presentación: Es la responsable de mostrar la información al usuario e
interpretar los eventos que realiza.
 Capa de Aplicación: Encargada de coordinar/orquestar las actividades que se
llevan a cabo en el sistema.
 Capa de Dominio: Es el corazón del sistema, representa toda la lógica y las
reglas del negocio.
 Capa de Infraestructura: Es una capa que sirve de soporte a las demás, para el
acceso a datos, persistencia, librerías, etc.
 Entidades: Son los objetos del modelo de dominio que se caracterizan por ser únicos y
que perduran durante el tiempo, es decir cada instancia del objeto tiene una identidad
propia que los diferencia de los demás a pesar de que tengan atributos o propiedades
similares.
 Objetos de Valor: Al contrario de las entidades, los objetos de valor no tienen
identidad y solo son importantes sus atributos. Se recomienda que estos tipos de
objetos sean inmutables para poder usarlos y descartarlos cuando sea necesario.
 Servicios: Los servicios representan operaciones, acciones o actividades que no
pertenecen conceptualmente a ningún objeto de dominio concreto. No tienen estado
propio ni un significado más allá que la acción que los definen y se utilizan para
modificar uno varios objetos de dominio.
 Módulos: Cuando un sistema comienza a ser complejo es necesario mantener la
máxima cohesión y un bajo acoplamiento. Es por ello, que debemos organizar el
modelo de dominio en módulos.
 Agregaciones: Las agregaciones son grupos de objetos que están relacionados entre sí.
Para definir las dependencias entre ellos, se tiene que definir cuál es el objeto raíz y
cuál es la frontera.
 Fábricas: Es un patrón utilizado para disminuir la complejidad al momento de crear
agregaciones, de modo que cuando creamos el objeto raíz también se creen sus
objetos agregados.
 Repositorios: Son elementos que se encargan de persistir y recuperar los objetos de
dominio que necesitamos que perduren en el tiempo. De esta manera desacoplamos
el dominio de la persistencia y de los distintos elementos necesarios para manejar las
transacciones.

b.- Mencionen cómo aplicarían estos bloques de construcción en su


propuesta de arquitectura o en su propio trabajo con un ejemplo.
Primero nos reuniríamos con los expertos del dominio para conocer más del negocio, durante
estas conversaciones trataríamos de adoptar un lenguaje ubicuo para que el modelo que
propongamos sea lo más parecido posible al dominio. A si mismo, durante ese tiempo también
estaríamos identificando cuales objetos del dominio deben ser únicos y tener identidad propia
y cuales otros solo son importantes por sus atributos, y si hay operaciones u acciones que son
parte del dominio pero que no encajan con ningún objeto, los mapearíamos como servicios.
Luego con el modelo terminado agruparíamos los objetos en módulos según las tareas que
realizan, para que nuestro sistema este bien cohesionado. Todo ello lo concretaríamos con una
arquitectura en capas que nos permita desacoplar el dominio de otras funciones requeridas en
el sistema.

También podría gustarte