Beruflich Dokumente
Kultur Dokumente
Ingeniera de Sistemas
ITM
Unidad 2. Los patrones de diseo en el
desarrollo de Software
Unidad 2.2 Patrones orientados a la
estructura
Arquitectura de Software
Patrones de
diseo
Adapter -
Adaptador
Bridge -
Puente
Composite -
La estructura y composicin
de un objeto
Compuesto
Estructural Decorator es
Decorador
Facade -
Las responsabilidades de un
objeto sin usar la herencia
Fachada
Flyweight -
La implementacin de un
objeto
La interfaz de un subsistema
Ligero
El coste de almacenamiento
de los objetos
Proxy -
Arquitectura
de Software
Cmo
se accede
a un objeto;
Peso
Patrones Estructurales
Patrones Estructurales
Adapter -AdaptadorNombre: Adaptador
Funcin:
Adaptar una interface para que pueda ser
utilizada por una clase que de otro modo
no podra utilizarla.
Se
puede aplicar cuando se desea
reutilizar una clase existente, pero su
interfaz no concuerda con lo que se
necesita.
Arquitectura de Software
Patrones Estructurales
Adapter -AdaptadorMotivacin:
Se est desarrollando un editor de dibujos
que permite realizar diagramas a partir d
elementos grficos como lneas, crculos,
texto, etc.
Un elemento fundamental de dicho sistema
es la clase ObjetoGrfico, que proporciona
operaciones para modificar su forma
(editar()) y para representarlo (dibujar()).
Arquitectura de Software
Patrones Estructurales
Adapter -AdaptadorMotivacin:
Esta clase se especializa para cada tipo de
objeto grfico: Lnea, Crculo, etc., clases
donde se han implementado adecuadamente
dichas operaciones.
Sin embargo, la edicin y representacin de
textos es una tarea complicada, por lo que se
desea reutilizar la clase Text de la biblioteca
de clases del entorno de programacin.
Arquitectura de Software
Patrones Estructurales
Adapter -AdaptadorMotivacin:
No obstante, la interfaz de Text (con
operaciones como edit() y draw()) no se
corresponde con la declarada por
ObjetoGrfico.
Por este motivo, se necesita desarrollar
una clase Texto (adaptador) que adapte
la clase Text (adaptada) a la interfaz
declarada por ObjetoGrfico (objetivo).
Arquitectura de Software
Patrones Estructurales
Adapter -Adaptador- : Motivacin
Arquitectura de Software
Patrones Estructurales
Adaptador: Versin para instancias
Arquitectura de Software
Patrones Estructurales
Adaptador: Versin para clases
Arquitectura de Software
Patrones Estructurales
El Patrn Adaptador
Arquitectura de Software
Patrones Estructurales
Adaptador: Algunas consideraciones
Arquitectura de Software
Patrones Estructurales
Composite -CompuestoNombre: Compuesto
Funcin:
Manejar objetos compuestos como si se
tratasen de un simple, en forma de rbol.
Tambin
permite
manipular
consistentemente los objetos en el rbol,
pidiendo que todos los objetos en el rbol
tengan una superclase o interfaz comn.
Arquitectura de Software
Patrones Estructurales
Composite -CompuestoMotivacin:
Aplicaciones
grupos
uniforme.
grficas. Manipulacin de
de
figuras
de
manera
Arquitectura de Software
Patrones Estructurales
El Patrn Compuesto
Arquitectura de Software
Patrones Estructurales
Composite -CompuestoAplicabilidad: Usar el patrn cuando:
Se
quieren
representar
jerarquas
todo/parte de objetos.
Se quiere que los clientes ignoren la
diferencia entre composiciones de objetos
y objetos individuales. Los clientes
tratarn todos los objetos en la estructura
compuesta de manera uniforme.
Arquitectura de Software
Patrones Estructurales
El Patrn Compuesto
Arquitectura de Software
Patrones Estructurales
Composite -CompuestoParticipantes:
AbstractComponent
(Grafico).
Arquitectura de Software
Patrones Estructurales
Composite -CompuestoParticipantes:
ConcreteComponent
(Linea, Rectangulo,
).
Representa objetos hoja en la composicin. Una
hoja no tiene hijos.
Define el comportamiento de los objetos primitivos
en la composicin.
Arquitectura de Software
Patrones Estructurales
Composite -CompuestoParticipantes:
AbstractComposite
(Dibujo).
Arquitectura de Software
Patrones Estructurales
Composite -CompuestoParticipantes:
Client
(Cliente).
Arquitectura de Software
Patrones Estructurales
Composite -CompuestoColaboraciones:
Los
Patrones Estructurales
Composite -CompuestoConsecuencias: El patrn composite: