Deseño guiado polo dominio (DDD)

Domain-driven design (DDD) é un importante enfoque da enxeñaría de software[1], que se focaliza na modelaxe do software para que se adapte a un dominio segundo as achegas dos expertos nese dominio, o que poderíamos simplificar en "traducir o idioma do negocio en código".[2]

Baixo o DDD, a estrutura e linguaxe do código (nomes de clases, métodos de clase, variábeis de clase) deberían coincidir co domino do negocio. Por exemplo, se o software procesa solicitudes de préstamo, pode haber clases como SolicitudePrestamo e Cliente, e métodos tales como AcceptarOferta e Retirar.

Domain-driven design predica as seguintes metas:

  • Colocar o enfoque principal do proxecto no dominio do core e a lóxica do dominio;
  • Basear os deseños complexos nun modelo do dominio;
  • Iniciar unha colaboración creativa entre técnicos e expertos do dominio para perfeccionar de maneira iterativa un modelo conceptual que aborde problemáticas concretas da contorna.

As críticas ó DDD argumentan que os desenvolvedores deben normalmente implementar unha agrande cantidade de illamento e encapsulación para manter o modelo coma unha construción pura e útil. Aínda que o DDD ofrece vantaxes como a capacidade de mantemento, Microsoft recoméndao só para dominios complexos nos que o modelo ofreza claras vantaxes á hora de formular unha comprensión común do dominio.[3]

O termo foi acuñado por Eric Evans no seu libro do mesmo título publicado no 2003.[4]

  1. Millet, Scott; Tune, Nick (2015). Patterns, Principles, and Practices of Domain-Driven Design. Indianapolis: Wrox. ISBN 978-1-118-71470-6. 
  2. Vernon, Vaughn (2013). Implementing Domain-Driven Design. Upper Sadle River, NJ: Addison-Wesley. p. 3. ISBN 978-0-321-83457-7. 
  3. Microsoft Application Architecture Guide, 2nd Edition. Retrieved from http://msdn.microsoft.com/en-us/library/ee658117.aspx#DomainModelStyle.
  4. Evans, Eric (2004). Domain-Driven Design: Tackling Complexity in the Heart of Software. Boston: Addison-Wesley. ISBN 978-032-112521-7. Consultado o 2012-08-12. 

Véxase tamén

editar

Ligazóns externas

editar