Featured resource
Tech Upskilling Playbook 2025
Tech Upskilling Playbook

Build future-ready tech teams and hit key business milestones with seven proven plays from industry leaders.

Learn more
  • Path icon Learning Path
  • Libraries: This path is only available in the libraries listed. To access this path, purchase a license for the corresponding library.
  • Core Tech

Domain-Driven Design

10 Courses
34 Hours
Skill IQ

Learn the philosophy and major design patterns that underlie the Domain Driven Design approach to software architecture. Understand the importance of focusing on the core domain and domain logic of your business. Explore techniques for refining the conceptual model by between the technical and domain experts. Learn from practical examples implemented in C# and .NET.

Content in this path

Beginner

Like a building, the strength of your software construction starts with a solid foundation. Here we learn both the basics of clean software architecture design and the fundamental pillars of the Domain Driven Design approach you’ll need in any solution you create.

Intermediate

Once you understand the basic principles, it’s time to learn how to handle the havoc imposed by the real world. Start by learning not just to use DDD in your ground-up designs but how to refactor existing designs to leverage the power of DDD. We’ll also explore how the Specification Pattern can solve a class of problems and how to leverage the power of Modern Object Relational Mapping tools.

Try this learning path for free
Access this learning path and other top-rated tech content with a free trial.
Have questions? Get them answered now.
What You'll Learn
  • • How to split the problem domain into Core, Generic, and Supporting subdomains and design bounded contexts for them with appropriate level of effort (e.g. rich domain model, transaction script, etc.)
  • • How to identify entities and Value Objects in the domain model
  • • How to choose aggregate boundaries in the bounded context and identify the root entity in the aggregate
  • • How to work with domain events
  • • The Specification pattern
  • • How to identify an anemic domain model and refactor away from it towards a rich one
  • • How to work productively with a legacy project via implementation of an anti-corruption layer
  • • How to map complex domain models using modern ORMs, such as EF Core and NHibernate
  • • How to apply the CQRS pattern in practice
  • • Working with Event Sourcing
Prerequisites
  • C# programming language
Related topics
  • CQRS
  • Clean architecture
  • Event Sourcing
  • Domain Model
  • Clean Code
Not sure where to start?
With over 500 assessments to choose from, you can see where your skills stand and receive adaptive learning recommendations to fill knowledge gaps in as little as 10 minutes.
Learn more

Join our learners and upskill
in leading technologies