Bounded contexts
Un bounded context es un limite dentro del cual un modelo tiene significado consistente.
Por que importan
En sistemas grandes, un unico modelo global suele fallar.
txt
Customer en ventas
Customer en soporte
Customer en facturacionPueden compartir datos, pero no necesariamente reglas, estados o responsabilidades.
Ejemplo
Plataforma de cursos:
txt
Catalog
Course
Instructor
PublicationStatus
Learning
Enrollment
Progress
LessonCompletion
Billing
Invoice
Payment
TaxDataCada contexto protege su lenguaje y su modelo.
Senales de contexto distinto
- Las mismas palabras significan cosas distintas.
- Equipos distintos cambian reglas sin coordinarse siempre.
- Hay ciclos de vida diferentes.
- Hay requisitos de escalado o seguridad distintos.
- Las tablas compartidas generan conflictos constantes.
Bounded context no siempre es microservicio
Un bounded context puede vivir en:
- Un modulo dentro de un monolito.
- Un paquete independiente.
- Un servicio separado.
- Un sistema externo.
La frontera conceptual es mas importante que la frontera fisica.
Context map
Un context map muestra relaciones:
txt
Catalog -> Learning -> Billing
| | |
publica matricula facturaChecklist
- Cada contexto tiene vocabulario propio.
- Las dependencias entre contextos son explicitas.
- No se comparte modelo interno por comodidad.
- La integracion usa contratos claros.
- La separacion fisica se decide despues de entender la frontera conceptual.
