|
Al diseñar un sistema buscamos la mejor manera de manejar su
complejidad y de minimizar el impacto de los cambios durante todo su ciclo de
vida.
En general estos dos objetivos se logran descomponiendo el sistema en módulos e
implementando el principio de information-hiding.
El principio de information-hiding
El principio de information-hiding busca esconder los mecanismos
internos usados en un modulo para implementar su funciónalidad convirtiendo al
modulo en un "black-box". Toda la interacción externa con el modulo se realiza a
través de una interface bien definida y estable.
Ningún modulo de un sistema debe depender de los detalles internos de cualquier
otro modulo y el usuario de un modulo no debe tener que conocer sus detalles
internos.
De esta manera es posible lograr que los cambios evolutivos resultan en cambios
locales y no tengan un impacto global en el sistema.
Encapsulamiento y componentización
El principio de information-hiding conduce al concepto de encapsulamiento y junto con el principio de descomposición en módulos, llevan al
concepto de componente.
El encapsulamiento de código es un medio para lograr el information-hiding.
En la descomposición en módulos se busca agrupar funciones naturalmente afines
buscando maximizar la "cohesión lógica" de los módulos.
Por otro lado, en casos en que se prevén cambios evolutivos importantes en
algunas partes del sistema resulta útil aislarlas y encapsularlas.
Ver también
|