Aprende Java: ¿Qué es un Bounded Context?

Programming code abstract technology background of software developer and Computer script

Que es un Bounded Context? . Esta es una pregunta bastante habitual cuando nos encontramos trabajando con Domain Driven Design . El uso de Bounded Context o contextos limitados hace referencia a una buena práctica a nivel de diseño que cada día esta más en uso. Vamos a explicar de que se trata. Normalmente cuando nosotros trabajamos sobre Domain Driven Design lo que construimos es un diagrama de clases o diagrama de dominio sobre la base de datos que tenemos construida.

Diseño Base Datos

Domain Driven Design

Normalmente cuando trabajamos con Domain Driven Design el modelo de tablas y el modelo de clases no es idéntico ya que las clases permitan una mayor flexibilidad. Así pues basado en el modelo anterior podemos construir el siguiente modelo de clases:

Domain Driven Design

Cuando los modelos de clases crecen llega un momento que su tamaño es excesivo y uno de los patrones de diseño que se implementa es el de Bounded Context por el cual el modelo se divide en “submodelos” cada uno expecializado en un area. Por ejemplo en nuestro caso podría ser que una parte del modelo se encargará de dar de alta nuevos clientes en la aplicación y otra parte del modelo se encargará de gestionar las compras de cada cliente.

Bounded Context y Limites

Cuando el modelo de dominio se separa siempre quedan lo que se denominan los límites . ES decir por ejemplo cuando gestionamos el contexto A más orientado a Personas es posible que necesitemos tener un conocimiento muy genérico de que esa persona realiza compras y la clase que se implemente será algo como:

Bounded Context A

En cambio en el Bounded ContextB probablemente tendremos una clase mucho más compleja que tendrá relaciones :

Alternativa

MicroServicios y Bounded Context

Antiguamente este patrón de diseño se usaba de forma puntual en algunos proyectos pero con la llegada de los MicroServicios su uso se está extendiendo ya que cada MicroServicio tendrá un Bounded Context asociado.

Bounded Context MicroServicios
Share
Avatar

Pablo J.

Desarrollador gráfico y web, con ganas de trabajar y aprender todo lo posible de este campo tan variado. Trato de ser creativo en la vida laboral como personal. Amante de la buena lectura, el cine con sentido e inteligente.

You may also like...

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *