Objetivo 1: Context Map

Usemos este ejemplo para una parte de un Context Map. Nota: se detallan los Value Objects dentro del Aggregate solo con motivos pedagógicos.

Screenshot 2026-06-12 at 17.27.09.png

Tomemos dos bounded contexts clásicos: Ventas y Envíos.

Ventas confirma un pedido. Envíos necesita saber que hay un pedido confirmado para preparar el despacho.

El Context Map entre ellos tiene estos elementos:

La relación: Ventas es upstream, Envíos es downstream. Ventas no sabe ni le importa que Envíos existe. Envíos depende de lo que Ventas produce.

El evento que cruza el límite: PedidoConfirmado — emitido por el aggregate Pedido dentro de Ventas, consumido por Envíos.

La traducción: PedidoConfirmado en Ventas habla el lenguaje de Ventas — tiene montoTotal, descuentoAplicado, canalDeVenta. Envíos no necesita nada de eso. Necesita direccionDestino, itemsADespachar, pesoTotal. Ahí está la ACL: Envíos traduce el evento entrante a su propio lenguaje interno antes de procesarlo.

Lo que el Context Map hace explícito: la frontera existe, la dirección del flujo es clara, y la traducción es responsabilidad de quien recibe — no de quien emite.