Session Domain Driven Design Mercredi 11 Septembre 2019


Format :

  • Forum ouvert

34 participants (avec Greg et Adam)

What is a bounded context?

Is it the same to speak Canadian in France or in Canada? When a word ain’t the same for different people, they don’t need the same software to be built. Domain models belong in a context, we solve the problem in a bounded context. It removes complexity. When adding a new concept that encompass all bounded context will create a new system. It’s a tool to understand the boudaries in a company.

CQRS, Event sourcing, event modeling?

Some people found messaging systems superior. They would find writing timeline for events and tracking states. EventStorming is the process of gathering a lot of people to understand pain points and explore the problem space. Event modeling is a blueprint of the model, it allows to layout the timeline of states. It’s a guidance for day 2+.

Event modeling allows to flatten the complexity of your system, so that simple tasks can remain simple when the system grow. Blueprint of the timeline is the only way to do that (for Adam).

Some team do not know how to collaborate. Blueprint allow people to understand and agree on who should do.

How often having more than 2 databases?

More than never, you have more than 2 databases. CQRS is great because it fits in a lot of model types, but not at indexing text.

REST & DDD

Eventsource has a restful api, so it’s possible to create one. It’s really unrelated subjects.

When people asked to read the DDD blue books, how long would it take for all of them to become DDD compliant. At least a year with good effort. Event modeling is a tool to accelerate the learning process.

Tracking use cases with event is efficient. You can remove branches of code that no one uses is a great tool.

When is CQRS a good fit

It’s a hard question. We’re not programing, we’re building information system. The best way to represent information changes in a system is a immutable ledger of events. Information stays the same with time, requirement changes. There’s a blog post for it on eventmodeling.org. Doctors have a immutable ledger with multiple read models (doctor, secretary, etc.).

It is not a technical problem, it’s inherent to information systems.

Note: organizers of the meetup are mostly standing up, just as the speakers!

DDD  unconf