Workshop: Decoupling from infrastructure
Most application code freely mixes domain logic with infrastructural concerns. Models are directly tied to the relational database of the project, use cases are inseparable from their web controllers, and external services are used without an appropriate abstraction. This limits your ability to design the application in a domain-driven, test-first way.
What we need is a way to separate core code from infrastructure code. And that’s surprisingly easy. All the design patterns have already been invented for that. Until we run out of time, we’ll keep (re)discovering patterns like Controller, Application Service, Entity, Read Model, Domain event, and so on. These patterns can be used to establish a testable, portable application core, with a focus on behavior, instead of data.
Workshop: Advanced Web Application Architecture
About the workshop
This 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:
- Design a clean domain model
- Model your application's use cases as application services
- Connect those well-designed layers to the world outside
Protecting your high quality domain model and use cases from external influences can be accomplished by applying a so-called ports & adapters or hexagonal architecture.
At the end of the day you know how to separate infrastructure from core (domain) code, divide your application into layers, and clearly distinguish its ports and adapters.
- Separating infrastructure from core code
- Repositories and entities
- Application services and command objects
- Value objects
- Read models and read model repositories
- Layers; The Dependency Rule; The Dependency Inversion Principle
- Ports and Adapters
This is a workshop for PHP developers with at least some experience with building web applications using a framework (or CMS) and a database.
Vodcast: Talking with Matthias Noback
An hour talking about open source, communities and conferences.
Vodcast: [Live] #1 - Making Money While Doing Open Source
On the first PHP com Rapadura [Live], we're going to receive @matthiasnoback and @matthieunapoli to discuss how to make money while doing open source.
Talk: Advanced Web Application Architecture
Talk: A testing strategy for hexagonal applications
Older events can be found on the Workshops & Talks pages.