Download - Loosely Coupled DDD
Loosely Coupled DDD
A humble presentation by Juan Angosto@juanangosto
But we Get Things Done*
*©David Allen - @GTDGuy
SOLID
SOLID
CQRS
SOLID
CQRSTDD
SOLID
CQRSTDD
BDD
SOLID
CQRSTDD
BDDDDD
DDD?
Developm
ent
$ symfony new dungeons_and_dragons
$ php bin/console doctrine:database:create
$ php bin/console doctrine:generate:entity
$ php bin/console doctrine:generate:crud
$ php bin/console doctrine:schema:update --force
$ php bin/console server:run
DOMAIN
BUSINESS LOGIC
DATA
PO
RT
UI P
ORT
REDI
S AD
APTE
RM
YSQ
L AD
APTE
R
API A
DAPT
ERW
EB A
DAPT
ER
DOMAIN
BUSINESS LOGIC
UI
PERSISTENCE
CACHE
DOMAIN
BUSINESS LOGIC
DMZ
DOMAIN
BUSINESS LOGIC
DATA
PO
RT
UI P
ORT
DMZ
DOMAIN
BUSINESS LOGIC
DATA
PO
RT
UI P
ORT
REDI
S AD
APTE
RM
YSQ
L AD
APTE
R
API A
DAPT
ERW
EB A
DAPT
ER DMZ
Battle
Player
Components
- Application- Domain- Infrastructure
Components
- Application (Workflow coordination)- Domain- Infrastructure
Components
- Application- Domain (Business logic)- Infrastructure
Components
- Application- Domain- Infrastructure (Communication between
layers and external elements)
DOMAIN
BUSINESS LOGIC
DMZ
Components
- Player- Application- Domain- Infrastructure
- Battle- Application- Domain- Infrastructure
DOMAIN
BUSINESS LOGIC
DATA
PO
RT
DMZ
Components
- Player- Application- Domain- Infrastructure
- Battle- Application- Domain- Infrastructure
getAll()
DOMAIN
BUSINESS LOGIC
DATA
PO
RT
MYS
QL
ADAP
TER
DMZ
$ php bin/console generate:bundle
DOMAIN
BUSINESS LOGIC
DATA
PO
RT
UI P
ORT
DMZ
MYS
QL
ADAP
TER
Components
- Player- Application- Domain- Infrastructure
- Battle- Application- Domain- Infrastructure
DOMAIN
BUSINESS LOGIC
DATA
PO
RT
UI P
ORT
REDI
S AD
APTE
RM
YSQ
L AD
APTE
R
API A
DAPT
ERW
EB A
DAPT
ER DMZ
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/