Diferencia entre revisiones de «Clase del 16/10/2007 (Diseño Avanzado con Objetos)»

De Cuba-Wiki
 
(No se muestra una edición intermedia del mismo usuario)
Línea 13: Línea 13:


'''intent:''' Agregar responsabilidad adicional a un objeto dinamicamente. Decorator provee una alternativa flexible a subclasificar para extender funcionalidad.
'''intent:''' Agregar responsabilidad adicional a un objeto dinamicamente. Decorator provee una alternativa flexible a subclasificar para extender funcionalidad.
'''desventajas:'''
-No hay necesidad de subclasificar los decorators concretos de uno abstracto en un lenguaje no tipado como Smalltalk
- subclasifico mas que nada para organizar mi conocimiento porque no tengo orta herramienta para hacerlo (esto se hizo incapie en POO)


== Adapter ==
== Adapter ==


'''intent:'''Convertir la interfaz de una clase es otra interfaz que el cliente espera. Adapter permite que algunas clases con diferentes interfaces trabajen entre si
'''intent:'''Convertir la interfaz de una clase es otra interfaz que el cliente espera. Adapter permite que algunas clases con diferentes interfaces trabajen entre si
'''diferencias:'''
- el Decorator agrega funcionalidad, el Adapter no
- el Decorator debe ser polimorfico, el Adapter no, solo con quien adapta
- un Facade sabe el protocolo de un conjunto de objetos, un Adapter aparece a travez de la necesidad de tener que interactuar con otros objetos

Revisión actual - 04:50 5 nov 2007

Proxy

intent: Proveer un sustituto para otro objeto para ganar acceso sobre el mismo

resumen: la clave del Proxy son 2 objetos del mismo tipo, el objeto real y el sustituto, en donde el sustituto controla el acceso al objeto real. El sustituto o Proxy tiene la misma interfaz que el objeto real, esto es para que el resto del sistema piense que que esta usando el objeto real, cuando en realidad usa el sustituto.

El Proxy es polimorfico al objeto que proxea.


problemas: el == no te dice que son objetos diferentes, pero el intent dice que deben ser el mismo

Decorator

intent: Agregar responsabilidad adicional a un objeto dinamicamente. Decorator provee una alternativa flexible a subclasificar para extender funcionalidad.

desventajas:

-No hay necesidad de subclasificar los decorators concretos de uno abstracto en un lenguaje no tipado como Smalltalk

- subclasifico mas que nada para organizar mi conocimiento porque no tengo orta herramienta para hacerlo (esto se hizo incapie en POO)

Adapter

intent:Convertir la interfaz de una clase es otra interfaz que el cliente espera. Adapter permite que algunas clases con diferentes interfaces trabajen entre si

diferencias: - el Decorator agrega funcionalidad, el Adapter no - el Decorator debe ser polimorfico, el Adapter no, solo con quien adapta - un Facade sabe el protocolo de un conjunto de objetos, un Adapter aparece a travez de la necesidad de tener que interactuar con otros objetos