Todo lo que acabas de ver en este artículo es solo una pequeña parte del libro Introducción a los patrones de diseño, el libro más completo de patrones de diseño en español, abarcamos 25 patrones de diseño junto con 25 proyectos del mundo real. Olvídate de aprender patrones de diseño con los ejemplos típicos de Internet de cómo hacer una pizza, animales y figuras geométricas. te invito a que veas mi libro:
Ver libroObserver
Patrón de diseño de comportamientoEl patrón de diseño Observer permite observar los cambios producidos por un objeto, de esta forma, cada cambio que afecte el estado del objeto observado lanzará una notificación a los observadores; a esto se le conoce como Publicador-Suscriptor. Observer es uno de los principales patrones de diseño utilizados en interfaces gráficas de usuario (GUI), ya que permite desacoplar al componente gráfico de la acción a realizar.
Los componentes del patrón se explican a continuación:
- IObservable: Interface que deben de implementar todos los objetos que quieren ser observados, en ella se definen los métodos mínimos que se deben implementar.
- ConcreteObservable: Clase que desea ser observada, ésta implementa IObservable y debe implementar sus métodos.
- IObserver: Interfaces que deben implementar todos los objetos que desean observar los cambios de IObservable.
- ConcreteObserver: Clase concreta que está atenta de los cambios de IObserver, esta clase hereda de IObserver y debe de implementar sus métodos.
- El ObserverA se registra con el objeto Observable para ser notificado de algún cambio.
- El ObserverB se registra con el objeto Observable para ser notificado de algún cambio.
- Ocurre algún cambio en el estado del Observable.
- Todos los Observers son notificados con el cambio ocurrido.
Ejemplo del mundo real
Mediante la implementación del patrón de diseño Observer desarrollaremos una aplicación que cargue desde el inicio la configuración del sistema. Dicha configuración notificara de forma automática a todos los objetos que estén interesado en los cambios, todo esto con la finalidad de que los objetos interesados en la configuración no tenga que consultar cada momento si existe algún cambio importante para reflejarlo al usuario.
¿Sabes la importancia de los patrones de diseño?
Los patrones de diseño son la clave para crecer profesionalmente hacia la arquitectura de software, sin mencionar que los salarios son los más altos de la industria de IT, descúbrelo en este video.