The perimeter of a bounded context acts as a “trust boundary.”

¿Qué significa esto?

Todo lo que esté dentro del contexto delimitado será válido, mientras que todo lo que esté fuera del contexto delimitado podría ser inválido.

¿Cómo gestionamos esto?

Agregaremos “puertas” al principio y al final del Workflow que actúan como intermediarios entre el dominio confiable y el mundo exterior no confiable.

En la puerta de entrada, siempre validaremos la entrada para asegurarnos de que cumpla con las restricciones del modelo de dominio. Después de la validación en la puerta de entrada, podemos estar seguros de que el objeto de dominio es válido. Si la validación falla, el resto del flujo de trabajo se omite y se genera un error.

Por otro lado, la función de la puerta de salida es diferente. Su tarea es asegurarse de que la información privada no se filtre fuera del contexto delimitado, tanto para evitar un acoplamiento accidental entre contextos como por razones de seguridad. Para lograr esto, la puerta de salida a menudo “perderá” deliberadamente informaciónen el proceso de convertir objetos de dominio a DTOs.