Bounded contexts, commands, domain events, enterprise integration patterns, (de)serialization, (de)coupling, messaging
Aggregates, consistency, domain invariants, entities, value objects, domain events, application services, transactions.
DTOs versus domain objects, encoding formats, extracting serializable data, versioning, upcasting, reflection library.
Commands, queries, events, event-sourced write models, read model projections, query optimizations, transactional versus eventual consistency.
Clean architecture, layered architecture, screaming architecture, domain model, application services, infrastructure, ports & adapters, project structure.
To be determined
TDD, Architecture diagrams, Living documentation, Dependency injection, Symfony bundle design, OSS Package development.
My workshops are well-balanced: they contain equal portions of theory and practice. You can start implementing advanced concepts right-away and verify the correctness of their results with the trainer.
Classes are limited to 15 participants to give everybody an equal opportunity to learn.
When explaining a technical concept, it will not be buried beneath a pile of framework code or implementation details. The concepts are in plain sight, ready for you to grasp.
Sandbox projects contain back-to-basic PHP code, so when you've finished your training, you can then use any framework you like to let your code blossom.
I offer lots of advanced workshop topics. We don't focus on the basics, we dive straight to the core of a concept.
There are a lot of different subjects we can cover, it's up to you to select which will be most useful for you or your team.
This 2-day workshop covers all of the three layers from what is known as a layered architecture: the domain, application and infrastructure layer. You'll learn how to:
Protecting your high quality domain model can be accomplished by applying a so-called ports & adapters or hexagonal architecture. And you'll find out how your application's design really starts to flourish when you use CQRS with Event Sourcing.
Some of the keywords for this workshop: aggregate design, domain events, application services, commands, queries and events, event sourcing, projections, eventual consistency, layered architecture, ports & adapters, hexagonal architecture.
This 2-day workshop takes a closer look at the communication that happens between the applications in their larger environment. We take insights from Strategic Domain-Driven Design, about Bounded Contexts and Context Mapping. We'll combine those with the accumulated knowledge about Microservice architecture and draw from the catalogue of Enterprise Integration Patterns to design services that communicate in a reliable fashion.
Some of the keywords for this workshop: commands, queries, domain events, event sourcing, projections, eventual consistency. bounded contexts, enterprise integration patterns, (de)serialization, (de)coupling, messaging, DTOs versus domain objects, encoding formats, extracting serializable data, versioning, upcasting, reflection.