watching now
5 Students

Course Details



Skill Level




What You Will Learn?

  • Insight to the world of Domain Driven Design and a good understanding of the DDD concepts


This is a quick crash course to Domain Driven Design for anyone looking to learn about this amazing way of thinking.<\/p>\n

The course is based on a collection of books and material based on Domain Driven Design (DDD) and explains the concepts, jargon, methodologies and best practices behind it.<\/p>\n

A business use case is also included with applied Domain Driven Design (DDD) concepts.  This course is theoretical and does not go into coding and implementation.<\/p>\n

What you’ll learn:<\/strong><\/p>\n

  • Domain Driven Design<\/li>\n
  • Software Architecture<\/li>\n
  • Software Engineering<\/li>\n
  • Onion Architecture<\/li>\n
  • Services<\/li>\n
  • Invariants<\/li>\n
  • Factories<\/li>\n
  • Repositories<\/li>\n
  • Specifications<\/li>\n
  • Event Storming<\/li>\n
  • Anti Corruption<\/li>\n
  • Domain Events<\/li>\n
  • Ubiquitous Language<\/li>\n
  • Entities<\/li>\n
  • Aggregate Roots<\/li>\n
  • Value Objects<\/li>\n
  • Strategic Design<\/li>\n
  • Tactical Design<\/li>\n
  • Bounded Contexts<\/li>\n
  • Shared Kernels<\/li>\n
  • Context Maps<\/li>\n
  • Anti Patterns<\/li>\n
  • Common Lessons Learnt<\/li>\n
  • References<\/li>\n<\/ul>\n

    Are there any course requirements or prerequisites?<\/strong><\/p>\n

    Basic understanding of software architecture and software engineering, although this is beginner-friendly<\/p>\n

    Who this course is for:<\/strong><\/p>\n

    Anyone looking to learn about Domain Driven Design<\/p>\n

    What's it all about?<\/strong><\/p>\n

    Domain driven design or DDD is a way of thinking that is tailored to help deliver quality software in a way that is focussed on the business goals. The main idea of DDD is it involve Subject Matter Experts from the business side, including business people, analysts and also includes technical people: architects, developers and engineers to build something that reflects true business principles and concepts. Its purpose is to portray a knowledge-rich design that extracts the meaning behind objects, validations, relationships and every bit of the business that the system is there to support. The great thing about DDD is that it's iterative, so you have a constant feedback loop between the people working on the project. <\/p>\n

    DDD is situational, during the project lifecycle you may realise that the model is turning out to be more CRUD, less DDD. It might make sense for the system or app to be this way, but it really depends on the business and client requirements. If the system lacks complexity and will not change over time you probably won't need to use DDD, since bounded contexts may produce unnecessary complexity. Remember, that in the end, you're always trying to solve a specific business problem.<\/p>"" :show-chars="400">


  • Basic understanding of software architecture and software engineering, although this is beginner-friendly


Section 1: Introduction 00:49
Section 2: Module 1 - Goals, Principles and Paradigms of Domain Driven Design 14:06
Section 3: Module 2 - Domain Driven Design: Starting with Strategic Design 21:22
Section 4: Module 3 - Domain Driven Design: Tactical Design Basics 12:27
Section 5: Module 4 - Implementing Tactical Design With The System Architecture 22:14

About the Instructor

Reviews 0
Students 0
Courses 1

Experienced (9+ years) working in solution design, system requirement formalization in financial service systems.

Solution design based on both private and public sectors, focused on the business requirements and taking a business-driven approach. Worked with multicultural teams in different settings and countries. System industries included payments, accounting, banking, government and finance systems.

BitDegree platform reviews

Our students say Excellent
9.5 out of 10
trustpilot logo 1trustpilot logo