A - G losario acoplamiento El grado en que los componentes software dependen unos de oíros. acoplamiento abstracto Dada una clase
A que tiene una referencia a una clase abstracta
B, la clase
A se dice que tiene un
acoplamiento abstracto a B. Lo llamamos acoplamiento abstracto porque
A se refiere al
tipo de un objeto, no a un objeto concreto. clase Una clase define la interfaz de un objeto y su implementación. Especifica la representación interna de un objeto y define las operaciones que éste puede llevar a cabo. clase abstracta Una clase cuyo principal propósito es definir una interfaz. Una clase abstracta delega parte de su implementación, o toda, en sus subclases. No se pueden crear instancias de una clase abstracta. clase mezclable Una clase diseñada para ser combinada con otras por medio de la herencia. Las clases mezclables suelen ser abstractas. clase amiga En C++, una clase que tiene los mismos permisos de acceso a las operaciones y datos de la clase que la propia clase. clase concreta Una clase que no tiene operaciones abstractas. Se pueden crear instancias de ella. clase padre La clase de la que, hereda otra clase. Tiene como sinónimos superclase (Smalltalk), clase base (C++) y clase antecesora. composición de objetos Ensamblar o componer objetos para obtener un comportamiento más complejo. constructor En C++, una operación que se invoca automáticamente para inicializar las nuevas instancias delegación Un mecanismo de implementación mediante el cual un objeto redirige o delega una petición a otro objeto. El delegado lleva a cabo la petición en nombre del objeto original. destructor En C++, una operación a la que se invoca automáticamente para terminar un objeto que está a punto de ser borrado. diagrama de clases Un diagrama que representa clases, su estructura y operaciones internas, y las relaciones estáticas entre ellas. diagrama de interacción Un diagrama que muestra el finjo de peticiones entre objetos. diagrama de objetos Un diagrama que representa una determinada estructura de objetos en tiempo de ejecución. encapsulación El resultado de ocultar la representación e implementación en un objeto. 1.a representación no es visible y no se puede acceder a ella directamente desde el exterior del objeto. El único modo de acceder a la representación de un objeto y de modificarla es a través de sus operaciones. enlace dinámico La asociación en tiempo de ejecución entre una petición a un objeto y una de sus operaciones. En C++, sólo las funciones virtuales puras están enlazadas dinámicamente. framework Un conjunto de clases cooperantes que forman un diseño reutilizable para una determinada clase de software. Un framework proporciona tina gula arquitectónica para dividir el diseño en clases abstractas y definir sus responsabilidades y colaboraciones. Un desarrollador adapta cl framework a una aplicación concreta heredando y componiendo instancias de las clases del framework. herencia Una relación que define una entidad en términos de otra. La herencia de clases define una nueva clase en términos de una o más clases padre. La nueva dase hereda su interfaz y sus implementaciones de sus padres. La nueva clase se dice que es una subclase o (en C++) una clase derivada. La herencia de clases combina herencia de Interfaces y herencia de implementación. La herencia de interfaces define una nueva interfaz en términos de una o varias interfaces existentes. La herencia de implementación define una nueva implementación en términos de una o varias implementaciones existentes. herencia privada En C++, una clase de la que se hereda sólo por su implementación. interfaz El conjunto de todas las signaturas definidas por las operaciones de un objeto. La interfaz describe el conjunto de peticiones a las que puede responder un objeto. metaclase Las clases son objetos en Smalltalk. Una metaclase es la clase de un objeto clase. objeto Una entidad de tiempo de ejecución que empaqueta datos y los procedimientos que operan sobre esos datos. objeto agregado Un objeto que se compone de subobjetos. Los subobjetos se denominan las partes, y el agregado es responsable de ellos. operación Los datos de un objeto sólo pueden ser manipulados por sus operaciones. Un objeto realiza una operación cuando recibe una petición. En C++, a las operaciones se tas denomina funciones miembro. Smalltalk usa el término método. operación abstracta Una operación que declara una signatura pero no la implementa. En C++, una operación abstracta se corresponde con una función miembro virtual pura. operación de clase Una operación que pertenece a una clase y no a un objeto individual. En C++, las operaciones de clase se denominan funciones miembro estáticas. patrón de diseño Un patrón de diseño nomina, da los motivos y explica sistemáticamente un diseño general que resuelve un problema de diseño recurrente en los sistemas orientados a objetos. Describe el problema, la solución, cuándo aplicar ésta y sus consecuencias. También ofrece trucos de implementación y ejemplos. La solución es una disposición general de clases y objetos que resuelven el problema. Está adaptada e implementada para resolver el problema en un determinado contexto. petición Un objeto lleva a cabo una operación cuando recibe la petición correspondiente de otro objeto. Un sinónimo frecuente de petición es mensaje. polimorfismo La capacidad de sustituir los objetos que se ajustan a una interfaz por otros en tiempo de ejecución. protocolo Extiende el concepto de interfaz para incluir todas las secuencias de peticiones permitidas. receptor El objeto destino de una petición. redefinición Volver a definir una operación (heredada de una clase padre) en una subclase. referencia de objetos Un valor que identifica a otro objeto. relación de agregación La relación entre un objeto agregado y sus partes. Una clase define esta relación con sus instancias (objetos agregados). relación de asociación Una clase que se refiere a otra clase tiene una asociación con esa clase. reutilización de caja blanca Un estilo de reutilización basado en la herencia de clases. Una subclase reutiliza la interfaz e implementación de su clase padre, pero puede acceder a los aspectos privados de su padre. reutilización de caja negra Un estilo de reutilización basado en la composición de objetos. Los objetos compuestos no se revelan entre sí sus detalles internos, lo que los hace ser como “cajas negras”. signatura La signatura de una operación define su nombre, parámetros y tipo de retomo. subclase Una clase que hereda de otra. En C++, una subclase se denomina una clase derivada. subsistema Un grupo independiente de clases que colaboran para llevar a cabo una serie de responsabilidades. subtipo Un tipo es un subtipo de otro si su interfaz contiene a la interfaz de aquél. supertipo El tipo padre del que hereda otro tipo. tipo El nombre de una determinada interfaz. tipo parametrizado Un tipo que deja sin especificar alguno de sus tipos constituyentes. Los tipos sin especificar se proporcionan como parámetros en el momento de su uso. En C++, los tipos parametrizados se llaman plantillas. toolkit Una colección de clases que proporcionan una funcionalidad útil pero que no definen el diseño de una aplicación. variable de instancia Un elemento de datos que define parte de la representación de un objeto. C++ usa el término
miembro de datos. B - G uía de la notación
A lo largo del libro se usan diagramas para ilustrar las ideas importantes. Algunos diagramas son informales, como una captura de pantalla de un cuadro de diálogo o un esquema que representa un árbol de objetos. Pero lo que son los patrones de diseño usan notaciones más formales para denotar relaciones e interacciones entre clases y objetos. En este apéndice se describen dichas notaciones en detalle.
Usamos tres notaciones gráficas distintas:
- Un diagrama de clases representa ciases, su estructura y las relaciones estáticas entre ellas.
Página siguiente