CQRS in der Praxis - Newsletter Double-Opt-In
Post on 21-Jan-2017
1619 Views
Preview:
Transcript
CQRS in der PraxisNEWSLETTER DOUBLE-OPT-IN
MVC – Pattern• 1979 formuliert
• Softwareentwurf für Desktop-Anwendungen
MVC – Pattern – klassisch
Controller
Model
View
View
ServerClient
MVC – Pattern – Web
Controller ModelView
ServerClient
Controller ModelView
MVC – Pattern – Web
ServerClient
Controller ModelView
MVC – Pattern – Web
MVC – Pattern – Web
ServerClient
Controller ModelView
Server
MVC – Pattern – Web
Client
Controller ModelView
MVC – Pattern – Web – Probleme• Systemgrenze
• HTTP-Request
• Subject-Observer
• Single-Responsibility
MVC – Pattern – Web – Probleme• HTTP-Request
• Subject-Observer
• Single-Responsibility
MVC – Pattern – Web – Probleme• HTTP-Request
• Subject-Observer
• Single-Responsibility
MVC – Pattern – Web – Probleme• HTTP-Request
• Single-Responsibility
Server
HTTP-Request
Client
Controller
ModelView
GET
Client Server
HTTP-Request
ReadController
ModelView
GET
Client Server
HTTP-Request
ReadController
ModelView
GET
WriteController
POST
Client Server
HTTP-Request
ReadController
ModelView
GET
WriteController
POST
GET
Probleme• HTTP-Request
• Single-Responsibility
Probleme• Single-Responsibility
Client Server
Single-Responsibility
ReadController
ModelView
GET
WriteController
POST
GET
Client Server
Single-Responsibility
Read Controller
ModelView
GET
POST
GET
ReadHandler
WriteHandler
Write Controller
Client Server
CQRS
Read Controller
ModelView
GET
POST
GET
ReadHandler
WriteHandler
Write Controller
Client Server
CQRS – Command Query Responsibilty Segregation
Read Controller
ModelView
GET
POST
GET
QueryHandler
CommandHandler
Write Controller
Livecoding
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.
Client
CQRS + SOA – Our best practice
QueryHandler
Reposi-toryView
GET
POST
GET
GetRequestHandler
PostRequestHandler
Called dynamically
CommandHandler
ReadService
Query
WriteService
Command
Called explicitly
Empfehlungen• Einführung in CQRShttp://martinfowler.com/bliki/CQRS.html
• MVC in Webanwendungen https://entwickler.de/online/php/model-view-controller-in-webanwendungen-138762.html
• Wartbares Design dank CQRShttps://entwickler.de/online/development/wartbares-design-dank-cqrs-139615.html
Empfehlungen
https://github.com/fortuneglobe/icehawk
Vielen Dank• Slides abrufbarhttp://www.phpind.de
• Beispiel-Projekt abrufbarhttps://github.com/PHPinDD/cqrs-newsletter-double-opt-in
top related