Figuring out how to model your domain is a complex task that’s the subject of many decent books in its own right. We like to use interactive techniques like event storming and CRC modeling, because humans are good at collaborating through play. Event modeling is another technique that brings engineers and product owners together to understand a system in terms of commands, queries, and events. Tip Check out www.eventmodeling.org and www.eventstorming.org for some great guides to visual modeling of systems with events. The goal is to be able to talk about the system by using the same ubiquitous language, so that you can agree on where the complexity lies.6535 ↱
Architecture Patterns with Python
Enabling Test-Driven Development, Domain-Driven Design, and Event-Driven Microservices
Harry Percival, Bob Gregory