Mathias Verraes

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. He's the founder of the Belgian DDD community. When he's not working, he's at home in Kortrijk, Belgium, helping his two sons build Lego train tracks.




NewCrafts Paris 2019

DDD Modelling vs Implementation

  • Pre-conference-workshop

The design patterns from Domain-Driven Design are gradually entering the collective consciousness of software developers. But most of the information out there focuses on mechanistic implementation details of the patterns: how to make an Entity in [insert favourite programming language], how to use the Repository pattern with [insert new hot ORM], how to make immutable Value Objects in [insert legacy framework]...

Applied individually, these patterns are useful, but are not giving you the full potential of Domain-Driven Design.

This one day training has a different approach. We address technical concerns in implementing the DDD patterns, but the focus is on the underlying principles and heuristics for building great domain-centric object-oriented code.

  • Why you’re underusing Value Objects
  • Seeing objects as containers of lifecycles and consistency
  • Discovering deeper domain concepts such as business rules, and lifting them into first class domain objects
  • The relevance of processes, behaviour, temporal modelling... for finding better Aggregate boundaries
  • How mutable software designs have distorted our perception of mutability in the domain
  • Better heuristics for understanding a complex domain, and using them to drive a more focused design
  • Reducing our dependance on service classes
  • Designing an implementation model that not only encapsulates the domain, but communicates that design to future programmers and reduces their surface area for bugs
  • ...

This workshop, aimed at programmers, is designed to give you immediate benefits when modelling and implementing the most important parts of your codebase.


Room: Room #1 - Time: 5/15/2019 9:00:00 AM

Temporal Modelling

  • Talk
  • ddd
  • design

Distributed systems are all about time. Traditional modelling styles, focused on things and structures, are not the primary way anymore to build modern systems that handle complexity well. Entity-centric designs tend to have an uneasy relation with events happening over time. The actual business processes, the heart of how organisations operate, end up hidden in the many calls between services.

Temporal Modelling is the cure: build models and systems that make events and processes the first class building blocks of a domain model. In this talk, we’re going to look at how reasoning with time helps us better understand how to build our software.


Room: Liskov - Time: 5/17/2019 11:30:00 AM

---{ *** }---


NewCrafts 2016

Designed Stickiness

  • Talk
  • Design
  • DDD

When we model, we tend to do it for ourselves: gain understanding, capture the business language, and turn it into running code. But are we missing opportunities to do something more with our models? What if, instead of mirroring the business, our models could transform it? Let's find out how a healthy obsession with language and metaphor can step up from domain-driven to driving the domain.


Room: Orval - Time: 5/13/2016 8:45:00 AM

---{ *** }---


DiversityCharter
Code of conduct

Our conference is dedicated to providing a harassment-free conference experience for everyone, regardless of gender, gender identity and expression, age, sexual orientation, disability, physical appearance, body size, race, or religion (or lack thereof). We do not tolerate harassment of conference participants in any form. Sexual language and imagery is not appropriate for any conference venue, including talks, workshops, parties, Twitter and other online media. Conference participants violating these rules may be sanctioned or expelled from the conference without a refund at the discretion of the conference organisers.