Mock: Subsystem Guidelines

(Imagen: Diapostitivas del curso de IBM)

When possible, a subsystem should _____.
A. depend on other interfaces
B. only have dependencies to it, not from it
C. have a small, well-defined set of internal classes exposed as its API
D. run in its own process

Cada subsistema debe ser lo más independiente posible de otras partes del sistema. Debe ser posible modificar las diferentes partes del sistema independientemente de las otras partes. Esto minimiza el impacto de los cambios y facilita las tareas de mantenimiento.

Debe ser posiblr reemplazar cualquier parte del sistema por otra parte, siempre y cuando esta soporte las mismas interfaces. Para asegurar que los subsistemas sean elementos reemplazables en el modelo, es necesario cumplir las siguientes condiciones:

  • Un subsistema no debe exponer sus contenidos. Ningún elemento dentro del subsistema debe tener visibilidad pública. Ningún elemento externo al subsistema debería depender de la existencia de un elemento interno del subsistema.
  • Un subsistema debe depender sólamente de las interfaces de otros elementos del modelo, de modo que no sea dependiente directamente de elementos del modelo externos al subsistema. Una excepción a esta regla es cuando varios subsistemas comparten un grupo común de definiciones de clases, y estos subsistemas importan los contenidos de los paquetes que contienen estas clases comunes. Esto sólo debe realizarse con paquetes en las capas inferiores de la arquitectura, y sólo para asegurarse que las definiciones comunes de clases que deban intercambiarse entre subsistemas sean consistentes.
  • Todas las dependencias al subsistema deben ser dependencias hacia las interfaces del subsistema. Los clientes del subsistema son dependientes de la interfaz (o interfaces) del subsistema, y no de los elementos internos del subsistema. De este modo, un subsistema puede ser reemplazado por otro subsistema que realice las mismas intefaces.

Por lo que inferimos que la alternativa correcta es la A.

Publicar un comentario