Como el título indica cuándo recomendaría el uso del mediator design pattern y dónde lo ve que se usa incorrectamente?Cuándo usaría el patrón de diseño de mediador
Respuesta
Use un mediador cuando el complejidad del objeto de comunicación comienza a obstaculizar reutilización de objetos. Este tipo de complejidad a menudo aparece en instancias de vista, aunque realmente podría estar en cualquier parte.
El uso incorrecto de un mediador puede dañar las interfaces de las clases de colega del mediador.
Parece un poco raro hablar sobre el uso indebido de un patrón. Si su implementación sigue el patrón, entonces ha usado el patrón. De lo contrario, no lo has hecho. En otras palabras, si su mediador está haciendo otra cosa, entonces probablemente no sea un mediador. Los patrones se definen por lo que hacen, lo que en realidad son. Los nombres de las cosas son simplemente etiquetas.
La verdadera pregunta que debe hacerse es si su implementación de un patrón cumple las promesas del patrón para su diseño. El patrón del mediador tiene como objetivo encapsular la comunicación compleja entre objetos cuando se está volviendo inmanejable. Si no lo ha logrado o no lo ha hecho muy bien, podría decir que un mediador está siendo mal utilizado. En algún momento, se convierte en un juicio de valor.
Lo he usado para tratar con aplicaciones swing.
Cuando estoy construyendo una GUI no me gusta que cada control se conozca porque eso requeriría la creación de subclases.
En lugar de eso tienen un objetivo principal que contiene el oyente y los widgets y dejar que mediar entre los diferentes controles, botones, campos de texto, etc.
El mediador es también básicamente lo que es una bomba de eventos. Un patrón muy común en GUI y juegos.
También he usado el mediador anteriormente para comunicarme entre sistemas muy dispar y marcos heredados.
Event-Pump == Event-Hub, ¿verdad? ¿Simplemente un sistema de autobuses, básicamente? ¿O más bien Mediación dirigida por eventos (solicitudes de rutas)? – Cody
- 1. ¿Se recomienda el uso del patrón mediador?
- 2. ¿Qué patrón de diseño usar (necesito algo como patrón de mediador)?
- 3. Patrón de mediador en JavaScript Preguntas
- 4. Cuándo usaría mmap
- 5. ¿Cuándo debería usar el patrón de diseño del constructor?
- 6. Dependencia circular en el patrón del mediador usando C#
- 7. Multithreading: ¿Cuándo usaría un Join?
- 8. ¿Cuándo usaría XML en lugar de SQL?
- 9. Cuándo utilizar el patrón decorador?
- 10. ¿Cuándo usaría un Dominio de aplicación?
- 11. Patrón de diseño singleton: escollos
- 12. Señales y ranuras, patrón de diseño en Qt?
- 13. Diseño de patrón "Fachada"
- 14. Patrón de diseño DAO
- 15. F # patrón de diseño
- 16. ¿Cuándo usaría XML sobre JSON para Ajax?
- 17. Twisted, gevent eventlet - Cuándo los usaría
- 18. ¿Cuándo usaría un delegado en asp.net?
- 19. ¿Cuándo usaría Java collections singletonMap method?
- 20. Cuándo incluir un nombre de patrón de diseño en el nombre de clase?
- 21. ¿Cómo sabe cuándo utilizar patrones de diseño?
- 22. ¿Existe un patrón de diseño de administrador?
- 23. ¿Cuándo utilizar el patrón abstracto de fábrica?
- 24. cuándo utilizar el patrón abstracto de fábrica?
- 25. Patrón de diseño de trabajador
- 26. correctamente usando el patrón de diseño Singleton
- 27. ¿Qué es el patrón de diseño fantasma?
- 28. ¿Qué es el patrón de diseño "Dispatcher"?
- 29. Patrón de diseño de validación
- 30. patrón de diseño de envío?
1+ para la respuesta – OscarRyz
¿Podría dar más detalles sobre el uso incorrecto? Gracias – hhafez
(se agregó una nota arriba) – keparo