Mathias Verraes

Mathias Verraes

Unbreakable Domain Models

Mathias Verraes is an independent consultant. He advises companies on how to build enterprise applications for complex business domains. He specializes in curing large legacy projects: the kind where there’s half a million lines of spaghetti code, and nobody knows how to get the project under control. As a blogger and and a speaker, Mathias is on a mission to spread the ideas of Domain Driven Design in the web development world. When he’s not working, he’s at home in Kortrijk, Belgium, helping his two sons build Lego train tracks.

Unbreakable Domain Models

Data Mappers (like Doctrine2) help us a lot to persist data. Yet many projects are still struggling with tough questions:
– Where to put business logic?
– How to protect our code from abuse?
– Where to put queries, and how test them?

Let’s look beyond the old Gang of Four design patterns, and take some clues from tactical Domain Driven Design. At the heart of our models, we can use Value Objects and Entities, with tightly defined consistency boundaries. Repositories abstract away the persistence. Encapsulated Operations helps us to protect invariants. And if we need to manage a lot of complexity, the Specification pattern helps us express business rules in the language of the business.

These patterns help us evolve from structural data models, to rich behavioral models. They capture not just state and relationships, but true meaning.

The presentation is a fast paced introduction to some patterns and ideas that will make your Domain Model expressive, unbreakable, and beautiful.