CQRS in der Praxis - Newsletter Double-Opt-In

  • View
    1.620

  • Download
    1

  • Category

    Internet

Preview:

Citation preview

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

Recommended