Get in Touch

Course Outline

Fundamentals of Domain-Driven Design

  • Key principles and the rationale behind adopting DDD
  • Establishing a ubiquitous language and collaborating effectively with domain experts
  • Differentiating between core, supporting, and generic subdomains

Strategic Design and Bounded Contexts

  • Defining the scope and responsibilities of bounded contexts
  • Mapping contexts and implementing integration patterns
  • Navigating team structures, organizational boundaries, and data ownership

Tactical Patterns: The Building Blocks of Domain Models

  • Entities and managing identity within the domain
  • Value objects and the benefits of immutability
  • Aggregates and defining transaction boundaries

Domain Services, Repositories, and Factory Patterns

  • Determining when to use domain services versus application services
  • Applying repository patterns with persistence in mind
  • Using factory patterns for the creation of complex objects

Modeling Complex Behaviors and Business Invariants

  • Designing invariants to enforce critical business rules
  • Implementing event-driven modeling and domain events
  • Understanding consistency models, including eventual consistency and sagas

Aligning DDD with Architectural and Engineering Standards

  • Harmonizing DDD with microservices and modular monolith architectures
  • API design, anti-corruption layers, and system integration strategies
  • Testing domain logic through unit, integration, and contract tests

Implementing DDD Across Teams and Organizations

  • Facilitating domain discovery workshops and Event Storming sessions
  • Building and maintaining a consistent ubiquitous language across teams
  • Measuring outcomes and iterating on the domain model for continuous improvement

Course Summary and Recommended Next Steps

Requirements

  • Proficiency in object-oriented programming languages
  • Solid grasp of software architecture fundamentals
  • Experience with Agile development methodologies

Intended Audience

  • Senior Software Engineers
  • Software Architects
  • Engineering Leads and Technical Managers
 21 Hours

Number of participants


Price per participant

Testimonials (1)

Upcoming Courses

Related Categories