Вы находитесь на странице: 1из 5

Universidad Autnoma

Gabriel Ren Moreno


Facultad: CS. Exactas y tecnologa - Ingeniera Informtica

Arquitectura de Software
Gestin. 1 - 2011
PATRN DE DISEO DECORADOR (DECARATOR) DIAGRAMADOR DE CLASES

Nombre Registro Docente Grupo

: : : :

Luis Alberto Baigorria Rodas 200639080 Ing. Josu Obed Veizaga Gonzles SA

17 de junio de 2011

Introduccin El patrn Decorator responde a la necesidad de aadir dinmicamente funcionalidad a un Objeto. Esto nos permite no tener que crear sucesivas clases que hereden de la primera incorporando la nueva funcionalidad, sino otras que la implementan y se asocian a la primera. Nombre del Patrn: Decorador - Decorator (Wrapper) 1. CLASIFICACIN:

Patrn de Diseo Estructural. Definicin: Los patrones estructurales estn relacionados con cmo las clases y los objetos se combinan para dar lugar a estructuras ms complejas. 2. PROPSITO:

Aadir dinmicamente nuevas responsabilidades a un objeto, proporcionando una alternativa flexible a la herencia para extender funcionalidad. Proporcionar una forma flexible de introducir o eliminar funcionalidad de un componente sin modificar su apariencia externa o su funcin. Ejemplo: Supongamos que tenemos una clase existente Ventana y queremos aadirle funcionalidad para que muestre un borde alrededor. Podemos crear una subclase VentanaConBorde que herede de Ventana. Hasta aqu todo bien, pero supongamos que surge la necesidad de crear una ventana que muestre un pequeo botn de ayuda con un signo de interrogacin (?) en su parte superior. Entonces tenemos las siguientes opciones: Crear otra subclase de Ventana: VentanaConBotnDeAyuda.

Problema: No cubre la necesidad de tener ventanas con bordes y botn de ayuda a la vez.

Crear una subclase de VentanaConBorde: VentanaConBordeYBotonDeAyuda.

Problema: No tenemos una ventana con botn de ayuda y sin borde. Crear clases para todas las combinaciones posibles de funcionalidades.

Problema: Con este ejemplo tendramos cuatro clases: Ventana, VentanaConBorde, VentanaConBotonDeAyuda y VentanaConBordeYBotonDeAyuda; con tres funcionalidades tendramos ocho clases y con cuatro, diecisis!

3. -

APLICADO A: Aadir objetos individuales de forma dinmica y transparente Responsabilidades de un objeto pueden ser retiradas Cuando la extensin mediante la herencia no es viable Hay una necesidad de extender la funcionalidad de una clase, pero no hay razones para extenderlo a travs de la herencia. Hay la necesidad de extender dinmicamente la funcionalidad de un objeto y quizs quitar la funcionalidad extendida.

4.

DESCRIPCIN

El patrn Decorator responde a la necesidad de aadir dinmicamente funcionalidad a un Objeto. Esto nos permite no tener que crear sucesivas clases que hereden de la primera incorporando la nueva funcionalidad, sino otras que la implementan y se asocian a la primera.

5.

DIAGRAMA DE CLASES DEL PATRON DECORADOR

DIAGRAMA DE CLASES APLICADO AL PROYECTO

Вам также может понравиться