Patrones de Diseo.
Patrones Estructurales
Los patrones estructurales:
1. Adapter (Adaptador): Adapta una interfaz para que pueda ser utilizada por una
clase que de otro modo no podra utilizarla.
2. Bridge (Puente): Desacopla una abstraccin de su implementacin. 3. Composite (Objeto compuesto): Permite tratar objetos compuestos como si de 4. 5. 6. 7.
uno simple se tratase. Decorator (Envoltorio): Aade funcionalidad a una clase dinmicamente. Facade (Fachada): Provee de una interfaz unificada simple para acceder a una interfaz o grupo de interfaces de un subsistema. Flyweight (Peso ligero): Reduce la redundancia cuando gran cantidad de objetos que poseen idntica informacin. Proxy: Mantiene un representante de un objeto.
Adapter (Adaptador)
Definicin
Adapta una interfaz para que pueda ser utilizada por una clase que de otro modo no podra utilizarla. Vase el ejemplo de Wikipedia
Otro ejemplo
Si ya tenemos un sistema de limpieza y queremos aadir otra funcin, podemos usar el patrn Adapter como la interfaz Extra en Adapter.java
Bridge (Puente)
Definicin
Desacopla una abstraccin de su implementacin. Vase el ejemplo de Wikipedia
Otro ejemplo
Podemos imaginar una base de datos de preguntas que queremos usar con un programa para gestionar las preguntas. Podemos aplicar el patrn Bridge para separar la relacin de los objetos, como se puede ver en Bridge.java
Composite (Objeto compuesto)
Definicin
Permite tratar objetos compuestos como si de uno simple se tratase. Vase el ejemplo de Wikipedia
Otro ejemplo
Un Director General podra tener a su cargo varios empleados, algunos de los cuales seran tambin directores. Podemos usar el patrn Composite, como en el ejemplo Composite.java
Decorator (Envoltorio)
Definicin
Aade funcionalidad a una clase dinmicamente. Vase el ejemplo de Wikipedia
Otro ejemplo
Podemos desarrollar una clase que genera nmeros y luego usar el patrn Decorator para aadir texto al nmero, como en el ejemplo Decorator.java
Facade (Fachada)
Definicin
Provee de una interfaz unificada simple para acceder a una interfaz o grupo de interfaces de un subsistema. Vase el ejemplo de Wikipedia
Otro ejemplo
Podemos ver un ejemplo para el manejo de formas en Facade.java
Flyweight (Peso ligero)
Definicin
Reduce la redundancia cuando gran cantidad de objetos que poseen idntica informacin. Vase el ejemplo de Wikipedia
Otro ejemplo
Podemos desarrollar una clase para pintar 100 crculos con 6 colores diferentes usando el patrn Flyweight, como se puede ver en el ejemplo Flyweight.java
Proxy
Definicin
Mantiene un representante de un objeto. Vase el ejemplo de Wikipedia Patrones de Diseo. Patrones Estructurales
Otro ejemplo
Para cargar una imagen que podra tardar un tiempo; podemos presentar algo mientras tanto, como un cuadrado en gris, como se puede ver en el ejemplo Proxy.java
Patrones de Diseo. Patrones Estructurales