Preface

What is this course about?

Domain Driven Design (DDD) handles many complex subjects, focused on business and technical perspectives. Oftentimes, people talk about how both perspectives should work together to give benefits to organizations. However, it entails many complex tasks for which DDD appears in the scene. In this course, we will learn the most important concepts of DDD. We will address some concerns, discuss the techniques that are used to model business processes, and see how DDD can be implemented with hexagonal architecture, and learn about many other amazing concepts.

Domain Driven Design

Who is this course for?

This course is designed for all the developers and architects who want to learn how to implement software that is more aligned with modern business goals. It is not an easy task to build software, because the process involves several different steps. One crucial step in this process is to gather information from business experts, and there are some techniques that people can use to do just that.

Course learning outcomes

Let us take a look at the learning outcomes of this course. Upon the completion of this course, we should:

  • Know what the objects of DDD are.
  • Know how to translate business people’s language into code.
  • Know what the abstractions of DDD are.
  • Know how to isolate components, based on DDD, from legacy systems.
  • Know what the activities of DDD are.
  • Know how to implement more maintainable software components.

This course includes examples in Golang and Java . However, whatever we learn can be implemented in any other language, because DDD is programming language agnostic.