Clase del 9/10/2007 (Diseño Avanzado con Objetos)

De Cuba-Wiki
Revisión del 18:06 3 nov 2007 de 190.138.57.153 (discusión)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)

Mediator

Intent Define un objeto que encapsula cómo interactuan una serie de objetos. Promueve un bajo acoplamiento al evitar que los objetos se refieran unos a otros explícitamente, y permite variar la interacción entre ellos en forma independiente.

Resumen

Cuando hay comportamiento divido entre muchos objetos que deben interactuar entre si, esto puede hacer que los objetos sean menos reutilizables debido a su alto acoplamiento con otros objetos. Ademas cambiar ese comportamiente para una clase, puede derivar en muchas subclases. Estos problemas se pueden evitar encapsulando el comportamiento colectivo en un nuevo objeto (mediador). Este, es responsable de coordinar y controlar las interacciones entre un grupo de objetos. Los objetos solo conocen al mediador reduciendo así el acoplamiento preexistente. El comportamiento es mas facil de modificar ya que esta encapsulado en un solo objeto y ademas puede extenderse mediante sbuclasificación de la clase.

Consecuencias

Reduce la herencia porque todo el comportamiento que se deberia extender por herencia en muchas clases si el comportamiento estuviera distribuido esta en un solo lugar.

Desacopla gran parte del acoplamiento entre muchos objetos.

Simplifica protocolo porque los objetos solo conocen el protocolo de un mediador y no el de un monton de otros objetos.

Abstrae como cooperan los objetos.

Al centralizar el control, el mediador, puede quedar un objeto demasiado complejo.

Facade

Composite

Observer