Preguntas etiquetadas con domain-driven-design

El diseño impulsado por dominio (DDD) es un enfoque para desarrollar software para necesidades complejas conectando la implementación a un modelo en evolución.


2
En DDD, ¿un servicio de dominio es esencialmente solo un patrón de fachada y / o mediador?
En el diseño controlado por dominio, la capa de dominio puede tener varios servicios (tradicionales). Por ejemplo, para el dominio de Usuario, podemos tener: Una fábrica de usuarios, que construye objetos de usuario de diferentes maneras Un UserRepository, que es responsable de interactuar con los servicios de persistencia en la …

6
DDD cumple con OOP: ¿Cómo implementar un repositorio orientado a objetos?
Una implementación típica de un repositorio DDD no se ve muy OO, por ejemplo, un save()método: package com.example.domain; public class Product { /* public attributes for brevity */ public String name; public Double price; } public interface ProductRepo { void save(Product product); } Parte de infraestructura: package com.example.infrastructure; // imports... …



2
¿Cómo acercar este diseño al DDD adecuado?
He leído sobre DDD desde hace días y necesito ayuda con este diseño de muestra. Todas las reglas de DDD me confunden mucho sobre cómo se supone que debo construir algo cuando los objetos de dominio no pueden mostrar métodos en la capa de aplicación; ¿Dónde más orquestar el comportamiento? …

4
Evitar objetos de dominio hinchados
Estamos tratando de mover datos de nuestra capa de Servicio hinchada a nuestra capa de Dominio usando un enfoque DDD. Actualmente tenemos mucha lógica de negocios en nuestros servicios, que se extiende por todo el lugar y no se beneficia de la herencia. Tenemos una clase de dominio central que …

5
Si el patrón de repositorio es excesivo para los ORM modernos (EF, nHibernate), ¿cuál es una mejor abstracción?
Recientemente he leído muchos argumentos en contra del uso del patrón de repositorio con poderosos ORM como Entity Framework, ya que incorpora una funcionalidad de repositorio, junto con la funcionalidad de la Unidad de Trabajo también. Otro argumento en contra del uso del patrón para una situación como las pruebas …

2
CQRS + Abastecimiento de eventos: (¿es correcto que) Los comandos generalmente se comunican punto a punto, mientras que los eventos de dominio se comunican a través de pub / sub?
Básicamente estoy tratando de entender el concepto de CQRS y conceptos relacionados. Aunque CQRS no necesariamente incorpora la mensajería y la búsqueda de eventos, parece ser una buena combinación (como se puede ver con muchos ejemplos / publicaciones de blog que combinan estos conceptos) Dado un caso de uso para …

5
Errores del diseño impulsado por dominio con Entity Framework
Una gran cantidad de tutoriales sobre DDD que estudié cubren principalmente la teoría. Todos tienen ejemplos de código rudimentario (Pluralsight y similares). En la web también hay intentos de algunas personas de crear tutoriales que cubran DDD con EF. Si comienza a estudiarlos brevemente, notará rápidamente que difieren mucho entre …



1
Cómo se deben manejar los comandos Agregar / Crear * en la arquitectura CQRS + Event Sourcing
Quiero implementar mi primera aplicación usando el patrón CQRS junto con Event Sourcing. Me pregunto cómo se debe manejar adecuadamente la creación de raíces agregadas. Digamos que alguien envía el comando CreateItem. ¿Cómo se debe manejar? ¿Dónde debe almacenarse el evento ItemCreated? ¿Como primer evento de un nuevo artículo? ¿O …

1
Diseñar una aplicación de servicio modular
Estoy pensando en diseñar una nueva solución que sea muy modular por naturaleza y me gustaría crear una estructura que soporte ese diseño para permitir una fácil expansión futura, una clara separación de preocupaciones, licencias por módulo, etc. que se encuentran en la web sobre aplicaciones modulares o compuestas están …

2
Excepciones en DDD
Estoy aprendiendo DDD y estoy pensando en lanzar excepciones en ciertas situaciones. Entiendo que un objeto no puede entrar en un mal estado, así que aquí las excepciones están bien, pero en muchos ejemplos también se lanzan excepciones, por ejemplo, si intentamos agregar un nuevo usuario con un correo electrónico …

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.