2.4.3 Interfaces, tipos y roles

Un interfaz es un elemento modelo que define un sistema de los comportamientos (un sistema de operaciones) ofrecidos por un elemento del modelo del clasificador (específicamente, una clase, un subsistema o un componente). La relación entre las interfaces y los clasificadores (subsistemas) no es siempre de una a una. Los clasificadores múltiples pueden realizar una interfaz y un clasificador pueden realizar interfaces múltiples. La realización es una relación semántica entre dos clasificadores. Un clasificador sirve como el contrato que el otro clasificador acuerda realizar.

Las interfaces son una evolución natural de las clases públicas de un paquete a las abstracciones fuera del subsistema. Todas las clases dentro del subsistema son privadas y no accesibles del exterior.

Una interfaz es una especificación pura. Las interfaces proporcionan la "familia de comportamiento" que un clasificador, pone la interfaz en ejecución. Las interfaces tienen vidas separadas de los elementos que los realizan. Esta separación de la interfaz y de la implementación ejemplifica los conceptos de la modularidad y la encapsulación, así como el polimorfismo.

 

Identificando Interfaces

 

Una vez que se identifiquen los subsistemas, sus interfaces necesitan ser identificados.

Identifique las interfaces del candidato. Organice las responsabilidades del subsistema en los grupos de responsabilidades cohesivas, relacionadas.

Semejanzas entre las interfaces. Busque los nombres similares, las responsabilidades similares, y las operaciones similares. Extraiga las operaciones comunes en una nueva interfaz. Busque interfaces existentes también, reutilizándolas en lo posible.

Defina las dependencias de la interfaz. Agregue las relaciones de la dependencia de la interfaz a todas las clases e interfaces que aparezcan en las firmas de la operación de la interfaz.

Mapee las interfaces a subsistemas. Cree las asociaciones de la realización del subsistema a la(s) interfaz(ces) que realiza.

Defina el comportamiento especificado por las interfaces. Si las operaciones en la interfaz se deben invocar en una orden particular, defina una máquina del estado que ilustre los estados público visibles.

Empaquete las interfaces. Las interfaces se pueden manejar y controlar independientemente de los subsistemas. Se dividieron las interfaces según sus responsabilidades.

 

Guía para las Interfaces

 

Nombre de la interfaz: El nombre de la interfaz para reflejar el papel que juega en el sistema. El nombre debe ser corto, de 1 a 2 palabras. No es necesario incluir la palabra "interfaz" en el nombre.

Descripción de la interfaz: La descripción debe corresponder con sus responsabilidades. Debe ser de varias oraciones. La descripción no debe exponer simplemente el nombre en forma modificada de la interfaz, sino que debe expresar el papel que la interfaz desempeña en el sistema.

Definición de la operación: Cada interfaz debe proporcionar un sistema único y bien definido de operaciones. Los nombres de la operación deben reflejar el resultado de la operación.

Descripción de la operación: Debe describir lo que hace la operación, incluyendo cualquier algoritmo dominante, y qué valor devuelve. Nombre los parámetros de la operación para indicar qué información se está pasando a la operación.

Documentación de la interfaz: El comportamiento definido por la interfaz se especifica como sistema de operaciones.