Get in Touch

Course Outline

Foundations of Domain-Driven Design

  • Core principles and the rationale for adopting DDD.
  • Establishing ubiquitous language through effective collaboration with domain experts.
  • Differentiating between core, supporting, and generic subdomains.

Strategic Design and Managing Bounded Contexts

  • Defining bounded contexts and delineating their specific responsibilities.
  • Mapping contexts and selecting appropriate integration patterns.
  • Addressing team structures, organizational boundaries, and data ownership models.

Tactical Patterns — The Structural Elements of Domain Models

  • Entities and the management of identity.
  • Value objects and the principle of immutability.
  • Aggregates and defining transactional boundaries.

Domain Services, Repositories, and Factory Patterns

  • Distinguishing when to apply domain services versus application services.
  • Implementing repository patterns and considering persistence strategies.
  • Utilizing factory patterns for complex object instantiation.

Modeling Complex Behaviors and Enforcing Invariants

  • Designing invariants to strictly enforce business rules.
  • Event-driven modeling techniques and the use of domain events.
  • Consistency models, including eventual consistency and saga patterns.

Aligning DDD with Architectural and Engineering Standards

  • Harmonizing DDD with microservices and modular monolith architectures.
  • API design, anti-corruption layers, and strategic integration approaches.
  • Testing domain logic through unit, integration, and contract testing.

Organizational Adoption of DDD

  • Facilitating domain discovery workshops and Event Storming sessions.
  • Cultivating and maintaining a shared ubiquitous language across teams.
  • Assessing success metrics and iterating on the domain model.

Wrap-up and Future Roadmap

Requirements

  • Proficient experience with object-oriented programming languages.
  • A solid grasp of fundamental software architecture principles.
  • Working knowledge of Agile development methodologies.

Target Audience

  • Senior developers.
  • Software architects.
  • Technical leads.
 21 Hours

Number of participants


Price per participant

Testimonials (1)

Upcoming Courses

Related Categories