Para continuar con la series de entradas que iniciamos hace un tiempo del hilo de El Arte de Programar, donde hablamos de criterios de calidad, y de programación en general, hoy vamos a hablar de Ocultamiento de Información
El principio de ocultamiento de información puede ser establecido de manera informal de la siguiente manera: Toda la información acerca de un modulo debería ser privada al él, a menos que específicamente sea declarada pública.
La aplicación de este principio asume que cada módulo es conocido por el resto del mundo solo a través de alguna especificación pública o interfaz del mismo. Por supuesto el texto del módulo podría jugar ese rol, por definición provee una vista correcta del módulo. Sin embargo el principio establece que este no sería el caso general, la interfaz de un módulo solo debería incluir algunas propiedades del modulo, el resto debería permanecer privadas.
La razón fundamental de este principio es el criterio de continuidad, si el módulo cambia, pero solo en sus aspectos privados, no en su interfaz, los otros módulos que lo usan no se verían afectados.
Aunque no hay un criterio absoluto para decidir que debería estar en la interfaz de un módulo, la idea general es que la interfaz debería describir la función del módulo, cualquier cosa que se relacione con la implementación de esa función debería mantenerse privado.
Debe notarse que este principio no implica ninguna protección en el sentido de restricciones de seguridad, los usuarios del módulo pueden leer tanto del módulo como ellos quieran, pero ellos deberían estar limitados a escribir código que dependa exclusivamente de lo provisto en la interfaz del módulo. El principio de ocultamiento de información enfatiza la necesidad de separar función de implementación.
Aparte del criterio de protección este principio soporta los requerimientos de composición, descomposición y entendibilidad: para desarrollar separadamente los módulos de un sistema, para combinar varios módulos existentes y para entender los módulos individualmente es indispensable conocer exactamente que puede cada uno de ellos esperar y no esperar del resto.
Bueno eso es todo por hoy, hasta la próxima entrada.
Soy amante de la programación, me gusta ver y crear cosas nuevas... Me gusta el metal, rock, y también daftpunk jajaja
Magazine
También podría interesarte :