Member-only story

DDD — Events Are Complex

Phillip Johnson
CodeX
Published in
4 min readMar 5, 2022
Photo by Parabol on Unsplash

Why do Events matter so much in Domain-Driven Design?

The Evolution of Events in Domain-Driven Design

Most aspects of modern software engineering can be found in or traced back to Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans. EventSourcing is something that has evolved in the world of DDD practitioners and has become more mainstream in recent years. Why are Events so important when designing and implementing software, and why are they so well suited to Domain Driven Design?

Software is complex

Software models the real world and the real world is complex. Keeping the complexity to a minimum mitigates the risks that complexity brings in successfully delivering and maintaining software. There are two types of complexity. Essential Complexity and Accidental Complexity:

  • Essential Complexity exists because of the real world complexity that software implements. We can’t avoid Essential Complexity.
  • Accidental Complexity is introduced by us as software developers as we design and architect systems. Accidental Complexity can and should be avoided, although it isn’t always easy to identify and minimise.

How we can avoid Accidental…

--

--

CodeX
CodeX

Published in CodeX

Everything connected with Tech & Code. Follow to join our 1M+ monthly readers

Phillip Johnson
Phillip Johnson

Written by Phillip Johnson

Over 20 years experience in software engineering, mostly in leadership positions. Passionate about software craftsmanship.

Responses (1)