Domina Domain-Driven Design
Una guía completa y genérica en Python: del lenguaje ubicuo a los patrones avanzados. Cada tema con código real, el árbol de archivos comentado y ejercicios de debugging — sin cuentas ni registros.
from dataclasses import dataclass
# Value Object — inmutable, sin identidad
@dataclass(frozen=True)
class Money:
amount: int
currency: str
def __post_init__(self):
if self.amount < 0:
raise ValueError("amount must be >= 0")Genérico y en Python
Placeholders listos para reemplazar. Aplica DDD a cualquier dominio desde el primer módulo.
Árbol de archivos
Cada archivo con su rol y regla de dependencia: sabes exactamente dónde va cada pieza.
Debugging DDD
Detectas y corriges violaciones de diseño: invariantes rotas, dependencias invertidas y más.
Todos los módulos
Módulo 1 · Fundamentos
Qué es DDD, lenguaje ubicuo, subdominios y la regla de dependencia entre capas.
0/25 ejercicios · 0%
Módulo 2 · Diseño estratégico
Bounded contexts, context mapping e integración entre contextos.
0/25 ejercicios · 0%
Módulo 3 · Bloques tácticos — el modelo
Value Objects, Entities, Aggregates e invariantes.
0/25 ejercicios · 0%
Módulo 4 · Bloques tácticos — colaboradores
Domain Events, Domain Services, Repositories (puertos), Factories y Specifications.
0/25 ejercicios · 0%
Módulo 5 · Capa de aplicación
Use cases, CQRS (commands/queries), puertos, DTOs, Unit of Work y event bus.
0/40 ejercicios · 0%
Módulo 6 · Infraestructura & Hexagonal
Ports & Adapters: API, persistencia/ORM, ACL, messaging y composition root.
0/35 ejercicios · 0%
Módulo 7 · Avanzado & evolución
CQRS avanzado, event sourcing, sagas, outbox, consistencia eventual y microservicios.
0/35 ejercicios · 0%
Módulo 8 · Práctica
Estructura del proyecto, testing por capa, clean code/SOLID, anti-patrones y setup con uv.
0/25 ejercicios · 0%