~/talk

DDD, CQRS, Hexagonal, Onion,... Putting it together

Talkat Dutch PHP Conference 2019 · 2019-06-06..06-08· [software-architecture, php]
links:none on file
slides:none on file

A working migration path for a 10–12 year PHP monolith that builds a sample application with command bus and handlers, clear repository interfaces and static mappers that convert domain objects to persistence arrays, and an initial JSON-backed repository then swapped to SQL to prove tool independence. The design uses ports and adapters (hexagonal/onion), CQRS with queries returning ViewModels/arrays instead of full domain objects, and event notifications to decouple modules (timesheet <> contracts), resulting in much easier testing and incremental replacement of infrastructure.

AI-written summary · about

  1. 0:00Intro
  2. 0:22Jeroen Keppens
  3. 1:42Legacy Application
  4. 4:08Normalized Systems - Goals
  5. 4:50Maintainable Codebase Characteristics
  6. 6:24Architectural styles & patterns
  7. 6:48Examples of layered architectures
  8. 9:47Command Query Responsibility Separation
  9. 11:04Command Query Responsibility Segregation
  10. 12:34Regular approach
  11. 13:02Ports & Adapters : Fundamental blocks
  12. 14:22Ports & Adapters: Flow of Control
  13. 14:36Ports & Adapters : Delivery Mechanisms & Tools
  14. 17:19Ports & Adapters : Primary or Driving Adapters
  15. 17:36Ports & Adapters : Secondary or Driven Adapters
  16. 17:49Ports & Adapters: Inversion of Control
  17. 19:08DDD : Bounded Context
  18. 21:06DDD : Shared Kernel
  19. 25:24Onion Architecture : Layers
  20. 25:49Onion & DDD: Application Layer
  21. 26:57Onion & DDD: Domain Layer
  22. 29:11Onion & DDD : Components
  23. 30:52Events : What/when/why
  24. 33:28Events : Patterns
  25. 35:41Events : Decoupling Components
  26. 36:16Classes & their relations
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.