There is always a design; it will be either good design or bad design. You might as well make an effort in designing and modeling your software. Creating multiple models for the same problem is one of the more important lessons that Domain Driven Design teaches us when we design software. It is a lot cheaper to quickly iterate over them and throw away less useful prototypes before we even start coding.
However, creating multiple models can be hard. When we begin gaining insight from our domain, we suffer a lot from cognitive biases that get in our way to gain new insights. We need these insights before we even start thinking about modeling. Tools like EventStorming can help us to deliberate discover and battle these biases. They help you quickly gain insight into the problem space.
In this training, you will learn the basics of EventStorming to help you gain the necessary insights you need to design and model quality software. With your newly acquired domain knowledge, you can start shaping multiple models for the same problem with the Domain Driven Design tactical design patterns. This way of visualizing enables you to quickly iterate over the different models and figure out which will be the best to use. You will use this model to start implementing this in code and get fast feedback if your model works.
Q: Is Start to Tactical Domain-Driven Design training right for me?
- Yes - if you are new to Software Development
- Yes - if you are a Software Developer
- Yes - if you are a Software Architect
Q: What will I achieve by completing this training?
You will learn:
- What a design and what a model is
- The basics of EventStorming
- The Domain-Driven Design tactical design patterns
- The building blocks of Model-Driven design
You will gain hands-on experience in:
- Modeling a bounded context with EventStorming
- How to use the tactical design patterns in a bounded context
- Implementing tactical design patterns
You will develop the skills to:
- Design and model quality software
- Quickly iterate over multiple models to find the best one
- Use Test-Driven Development (TDD) to implement design
Q: What else should I know?
- Advanced reading of ‘Domain-Driven Design Distilled’ by Vaughn Vernon or ‘Domain-Driven Design’ by Eric Evans is recommended but not required
- Ability to properly remove a sticky note
- Read the free ebook The Anatomy Of Domain-Driven Design
- Bring your personal laptop with your favorite IDE and programming language