Diseño guiado por el dominio
El diseño guiado por el dominio, en inglés: domain-driven design (DDD), es un enfoque para el desarrollo de software con necesidades complejas mediante una profunda conexión entre la implementación y los conceptos del modelo y núcleo del negocio.
El DDD no es una tecnología ni una metodología, este provee una estructura de prácticas y terminologías para tomar decisiones de diseño que enfoquen y aceleren el manejo de dominios complejos en los proyectos de software.
El término fue acuñado por Eric Evans en su libro "Domain-Driven Design - Tackling Complexity in the Heart of Software".[1]
Ventajas de usar domain-driven design:
· Comunicación efectiva entre expertos del dominio y expertos técnicos a través de Ubiquitous Language.
· Foco en el desarrollo de un área dividida del dominio (subdominio) a través de Bounded Context’s.
· El software es más cercano al dominio, y por lo tanto es más cercano al cliente.
· Código bien organizado, permitiendo el testing de las distintas partes del dominio de manera aisladas.
· Lógica de negocio reside en un solo lugar, y dividida por contextos.
· Mantenibilidad a largo plazo.[2]
Premisas[editar]
Las premisas del DDD son las siguientes:
- Poner el foco primario del proyecto en el núcleo y la lógica del dominio.
- Basar los diseños complejos en un modelo.
- Iniciar una creativa colaboración entre técnicos y expertos del dominio para interactuar lo más cercano posible a los conceptos fundamentales del problema.
Ejemplos de DDD[editar]
Referencias[editar]
- ↑ a b Evans, E., Domain-Driven Design - Tackling Complexity in the Heart of Software, 2004, Addison-Wesley.
- ↑ Loscalzo, Jonathan (18 de junio de 2018). «Domain Driven Design: principios, beneficios y elementos — Primera Parte». Medium (en inglés). Consultado el 18 de junio de 2020.
- ↑ https://github.com/citerus/dddsample-core
Véase también[editar]
Enlaces externos[editar]
- An Introduction to Domain Driven Design (en inglés).