CQRS in der Praxis - Newsletter Double-Opt-In

1.881 Aufrufe

Veröffentlicht am

Talk vom 23. September 2015 bei der PHP User Group Dresden

Veröffentlicht in: Internet

CQRS in der Praxis - Newsletter Double-Opt-In

  1. 1. CQRS in der Praxis NEWSLETTER DOUBLE-OPT-IN
  2. 2. MVC – Pattern • 1979 formuliert • Softwareentwurf für Desktop-Anwendungen
  3. 3. MVC – Pattern – klassisch Controller Model View View
  4. 4. ServerClient MVC – Pattern – Web Controller ModelView
  5. 5. ServerClient Controller ModelView MVC – Pattern – Web
  6. 6. ServerClient Controller ModelView MVC – Pattern – Web
  7. 7. MVC – Pattern – Web ServerClient Controller ModelView
  8. 8. Server MVC – Pattern – Web Client Controller ModelView
  9. 9. MVC – Pattern – Web – Probleme • Systemgrenze • HTTP-Request • Subject-Observer • Single-Responsibility
  10. 10. MVC – Pattern – Web – Probleme • HTTP-Request • Subject-Observer • Single-Responsibility
  11. 11. MVC – Pattern – Web – Probleme • HTTP-Request • Subject-Observer • Single-Responsibility
  12. 12. MVC – Pattern – Web – Probleme • HTTP-Request • Single-Responsibility
  13. 13. Server HTTP-Request Client Controller Model View GET
  14. 14. Client Server HTTP-Request Read Controller Model View GET
  15. 15. Client Server HTTP-Request Read Controller Model View GET Write Controller POST
  16. 16. Client Server HTTP-Request Read Controller Model View GET Write Controller POST
  17. 17. Probleme • HTTP-Request • Single-Responsibility
  18. 18. Probleme • Single-Responsibility
  19. 19. Client Server Single-Responsibility Read Controller Model View GET Write Controller POST
  20. 20. Client Server Single-Responsibility Read Controller Model View GET POST Read Handler Write Handler Write Controller
  21. 21. Client Server CQRS Read Controller Model View GET POST Read Handler Write Handler Write Controller
  22. 22. Client Server CQRS – Command Query Responsibilty Segregation Read Controller Model View GET POST Query Handler Command Handler Write Controller
  23. 23. Livecoding
  24. 24. Newsletter Double-Opt-In – User Stories • Als User kann ich meine E-Mail Adresse anmelden, um den Newsletter zu erhalten. • Als User erhalte ich eine E-Mail nach Anmeldung, um diese zu bestätigen. • Als User kann ich die Bestätigungs-E-Mail erneut anfordern, um meine E-Mail Adresse zu bestätigen. • Als User kann ich meine E-Mail Adresse bestätigen, um die Anmeldung abzuschließen. • Als User erhalte ich eine Welcome E-Mail, sodass ich über den Abschluss der Anmeldung informiert bin.
  25. 25. Client CQRS + SOA – Our best practice Query Handler Reposi- tory View GET POST GetRequest Handler PostRequest Handler Called dynamically Command Handler ReadService Query WriteService Command Called explicitly
  26. 26. Empfehlungen • Einführung in CQRS http://martinfowler.com/bliki/CQRS.html • MVC in Webanwendungen https://entwickler.de/online/php/model-view-controller-in-webanwendungen- 138762.html • Wartbares Design dank CQRS https://entwickler.de/online/development/wartbares-design-dank-cqrs- 139615.html
  27. 27. Empfehlungen https://github.com/fortuneglobe/icehawk
  28. 28. Vielen Dank • Slides abrufbar http://www.phpind.de • Beispiel-Projekt abrufbar https://github.com/PHPinDD/cqrs-newsletter-double-opt-in

×