educative.io

What is the difference between strategic and tactical patterns?

In the Entities chapter of the course on Domain Driven Design, it is said that “DDD uses tactical patterns to represent a model”. Could you please explain what a tactical pattern is and what is the difference between a tactical pattern and a strategic pattern?
Thank you in advance,
A.


Course: Domain Driven Design Made Easy - Learn Interactively
Lesson: Value Objects - Domain Driven Design Made Easy

Hi @Anna_Costalonga
In the context of Domain-Driven Design (DDD), tactical patterns are design patterns that provide guidance on how to organize and structure the code within a single bounded context. Tactical patterns are focused on solving specific design problems and are used to create a robust and maintainable codebase within a bounded context.

Tactical patterns can be applied at different levels of abstraction, such as in the design of individual classes, interfaces, or modules. Some examples of tactical patterns include the Aggregate pattern, the Domain Event pattern, and the Value Object pattern.

On the other hand, strategic patterns in DDD are patterns that help to organize and coordinate multiple bounded contexts within a larger system. Strategic patterns focus on the overall architecture and communication between bounded contexts. They provide guidance on how to divide a system into smaller, more manageable parts and how to manage the relationships and dependencies between them.

Examples of strategic patterns include the Context Map pattern, the Bounded Context pattern, and the Anti-Corruption Layer pattern.

In short, tactical patterns focus on the design of individual bounded contexts, while strategic patterns focus on the overall organization and coordination of multiple bounded contexts within a larger system.