Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Domain-Driven Design Explained: The Complete Guide (بالعربي)
Highest Rated
Rating: 4.7 out of 5(142 ratings)
852 students

Domain-Driven Design Explained: The Complete Guide (بالعربي)

Master DDD concepts, Domain modeling, Aggregates, Entities, Value Objects, Subdomains, Bounded Contexts, Context map
Created byHassan Ibrahim
Last updated 11/2025
Arabic

What you'll learn

  • Understand the core principles of Domain-Driven Design
  • Design modular, maintainable systems by applying DDD building blocks and identifying clear bounded contexts
  • Apply strategic DDD patterns, such as context maps and relationship patterns, to design scalable architectures
  • Implement tactical DDD patterns in code including entities, value objects, aggregates, and domain services

Course content

3 sections40 lectures5h 4m total length
  • Introduction3:25
  • DDD Concept5:05
  • History2:52

Requirements

  • While not mandatory, experience working on medium to large-scale projects will help you better relate to the challenges DDD aims to solve
  • Understanding of OOP in any language
  • Some experience building backend applications
  • No prior knowledge of Domain-Driven Design is required

Description

Are you building complex software systems and struggling with messy code, unclear boundaries, or hard-to-change logic? Domain-driven design offers a powerful approach to designing software that reflects real business needs and scales with complexity.


In this course, you’ll learn Domain-Driven Design through practical, real-world examples. Whether you’re working on a monolith or microservices, you’ll discover how to structure your code and architecture around the core domain logic


We’ll start with the strategic patterns: understanding the business domain, identifying bounded contexts, and mapping out how different parts of your system interact. Then we’ll move into tactical design, where you’ll learn to model your domain using aggregates, value objects, entities, domain events, and repositories.


By the end of this course, you’ll learn how to model your system into smaller, modular parts, helping you build better monolithic applications and achieve a modular monolith architecture. These modules will be loosely coupled and well-aligned with your business domains, making your system easier to maintain, scale, and evolve. This approach also lays a strong foundation for migrating to microservices later, if needed, without a complete rewrite.


Whether you’re a backend developer, tech lead, or architect, this course will give you the tools to design better systems from the inside out, systems that reflect the heart of your business!

Who this course is for:

  • Backend developers who want to improve their software design skills and build more maintainable, domain-focused systems
  • Software architects and tech leads looking for a structured approach to modeling complex business domains
  • Developers working on large or growing codebases who struggle with messy logic, poor boundaries, or tight coupling
  • Teams transitioning from monolith to microservices, or aiming to organize their monolith better using modular DDD principles
  • Anyone curious about Domain-Driven Design, from intermediate developers to seasoned professionals, who want to apply DDD concepts in real-world projects