Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Loosely Coupled DDD

724 visualizaciones

Publicado el

Everyone and his mother nowadays is charmed by DDD, but it's so easy to couple yourself into the mermaid song of a framework...

At ofertix.com we are refactoring our codebase following the DDD principles while fighting against our beloved Symfony for some space, like a marriage.

So the talk would drive from basic DDD principles to how easy is to couple yourself into the framework, then how to prevent the framework to taint the domain layer and finally how to put it at the service of the application.

Publicado en: Software
  • Inicia sesión para ver los comentarios

Loosely Coupled DDD

  1. 1. Loosely Coupled DDD A humble presentation by Juan Angosto @juanangosto
  2. 2. But we Get Things Done* *©David Allen - @GTDGuy
  3. 3. SOLID
  4. 4. SOLID CQRS
  5. 5. SOLID CQRS TDD
  6. 6. SOLID CQRS TDD BDD
  7. 7. SOLID CQRS TDD BDD DDD
  8. 8. DDD?
  9. 9. Development
  10. 10. $ symfony new dungeons_and_dragons
  11. 11. $ php bin/console doctrine:database:create
  12. 12. $ php bin/console doctrine:generate:entity
  13. 13. $ php bin/console doctrine:generate:crud
  14. 14. $ php bin/console doctrine:schema:update --force
  15. 15. $ php bin/console server:run
  16. 16. DOMAIN BUSINESS LOGIC DATAPORT UIPORT REDISADAPTER MYSQLADAPTER APIADAPTER WEBADAPTER
  17. 17. DOMAIN BUSINESS LOGIC UI PERSISTENCE CACHE
  18. 18. DOMAIN BUSINESS LOGIC DMZ
  19. 19. DOMAIN BUSINESS LOGIC DATAPORT UIPORT DMZ
  20. 20. DOMAIN BUSINESS LOGIC DATAPORT UIPORT REDISADAPTER MYSQLADAPTER APIADAPTER WEBADAPTER DMZ
  21. 21. Battle Player
  22. 22. Components - Application - Domain - Infrastructure
  23. 23. Components - Application (Workflow coordination) - Domain - Infrastructure
  24. 24. Components - Application - Domain (Business logic) - Infrastructure
  25. 25. Components - Application - Domain - Infrastructure (Communication between layers and external elements)
  26. 26. DOMAIN BUSINESS LOGIC DMZ
  27. 27. Components - Player - Application - Domain - Infrastructure - Battle - Application - Domain - Infrastructure
  28. 28. DOMAIN BUSINESS LOGIC DATAPORT DMZ
  29. 29. Components - Player - Application - Domain - Infrastructure - Battle - Application - Domain - Infrastructure
  30. 30. getAll()
  31. 31. DOMAIN BUSINESS LOGIC DATAPORT MYSQLADAPTER DMZ
  32. 32. $ php bin/console generate:bundle
  33. 33. DOMAIN BUSINESS LOGIC DATAPORT UIPORT DMZ MYSQLADAPTER
  34. 34. Components - Player - Application - Domain - Infrastructure - Battle - Application - Domain - Infrastructure
  35. 35. DOMAIN BUSINESS LOGIC DATAPORT UIPORT REDISADAPTER MYSQLADAPTER APIADAPTER WEBADAPTER DMZ
  36. 36. DDD in PHP google group: https://groups.google.com/forum/#!forum/dddinphp Mathias Verraes blog: http://verraes.net/ Carlos Buenosvinos Youtube series: https://www.youtube.com/watch? v=uvKS6UCUZes&list=PLfgj7DYkKH3DjmXTOxIMs-5fcOgDg_Dd2 Vaugh Vernon blog: http://vaughnvernon.co/
  37. 37. rrhh@groupalia.com

×