Propósito
Define un objeto que encapsula cómo interaccionan un conjunto de objetos. Favorece un bajo acoplamiento, liberando a los objetos de referenciarse unos a otros explícitamente, y permite variar la interacción de manera independiente.
Aplicabilidad
Use el patrón Mediator cuando un conjunto de objetos se comunica entre sí de una forma bien definida, pero compleja. Las interdependencias son poco estructuradas y difíciles de comprender, cuando reutilizar una clase es difícil porque tiene dependencias con muchas otras clases, cuando un comportamiento que es distribuido entre varias clases debería ser adaptable sin crear muchas subclases.
Implementación
El patrón Mediator necesita de los siguientes elementos:
• Mediator: Define una interface para comunicarse con los objetos colegas.
• ConcreteMediator: Implementa el comportamiento cooperativo entre los colegas (como se comunican entre ellos). Además los conoce y mantiene.
• Colleagues: Cada colega conoce su mediador, y usa a este para comunicarse con otros colegas.
Ventajas e Inconvenientes
Evita crear subclases de los colegas, sólo se crean subclases del mediador, además desacopla a los colegas.
Simplifica los protocolos entre las clases y abstrae el cómo cooperan los objetos, centraliza el control en el mediador, por lo tanto la clase es difícil de mantener.
Patrones Relacionados
• Factory Method: En las clases que simbolizan colecciones comúnmente se define un método fábrica para así crear el iterador.
• Visitor: Cuando este patrón se usa en conjuntos de objetos, casi siempre se usa un iterador para recorrer los elementos.
viernes, 29 de mayo de 2009
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario