It’s All About the Domain Technology is an important aspect for every software system. Being a software architect or developer, we feel comfortable with technology but must not forget that it is only a means to an end. The purpose of a software system is to assist the user in his work. Domain-driven design (DDD) helps us to build such systems. Therefore, the software is designed in a way that reflects the domain.
A Common Language Facilitates Collaboration The results of software development projects are often not what the users imagined. Communication problems between experts and developers are not revealed until the usage of the software which often is too late. To avoid this issue, we use DDD. Experts and developers deliberately develop a common terminology to form the basis for the domain-driven architecture.
Software of High Quality Due to Coherent Patterns Not only do users and developers have misunderstandings, but also the developers themselves have different ideas about the architecture of the future system. To ensure high quality, DDD offers predefined patterns such as Entity, Value Object, Aggregate, Service etc. These DDD patterns simplify communication between developers and lead to a coherent architecture.
Looking Beyond the Boundaries of Your Own System Terminology and patterns not only work for one system, but also in large software projects with several development teams or separately developed microservices. Concepts such as Bounded Context, Context Map, Shared Kernel, Domain Events, Anticorruption Layer, etc. are used at this point.
What is Covered in This Workshop? You will learn how to develop a terminology, how to use domain-driven design patterns, and how to establish a connection to other applications. This is required to design an application in context guided by the domain. Talks, discussions, and exercises will be part of the workshop to deepen the learned knowledge in practice. We will use an example domain to practice making an architecture of high quality. You will see how simple a design can be if you understand the domain and the architectural guidelines of domain-driven design.