Cual Es La Diferencia Entre Watcher Y Observer?

Cual Es La Diferencia Entre Watcher Y Observer?
Artículo
Citar    Descargar mensaje  
Mensaje Cual Es La Diferencia Entre Watcher Y Observer? 
 
buenas

pues eso al parecer watcher es un observador de eventos igual que Observer.

hay diferencias?
cuales son?

son simplemente similares?
cual se creo primero?

cual conviene usar?
o cuando conviene usar uno y cuando otro?

saludos.



 
última edición por v3ctor el Jueves, 22 Junio 2017, 18:31; editado 1 vez 
v3ctor - Perfil MP  
v3ctor [ Jueves, 22 Junio 2017, 18:20 ]


Cual Es La Diferencia Entre Watcher Y Observer?
Comentarios
Citar    Descargar mensaje  
Mensaje Re: Cual Es La Diferencia Entre Watcher Y Observer? 
 
La Clase "Watcher" ofrece la posibilidad de añadir unos especificos eventos más al objeto observado.

Por ejemplo la Clase "Button" no tiene eventos: Hide   Move   Resize   Show
Bueno, la Clase "Watcher" añade estos eventos.

Ejemplo practico.
Vamos a poner sobre el Formulario dos Button.
Private w As Watcher


Public Sub Form_Activate()
  
  w = New Watcher(Button1) As "Boton"
  Print w.Control.Name

End


Public Sub Boton_Resize()

  Print "Resize !"

End


Public Sub Button2_Click()

   Button1.Resize(10, 20)

End




 
vuott - Perfil MP  
vuott [ Jueves, 22 Junio 2017, 19:09 ]
Citar    Descargar mensaje  
Mensaje Re: Cual Es La Diferencia Entre Watcher Y Observer? 
 
a ver si entendí

los dos son observadores

se podría decir que Watcher hereda todo de observer y tiene algunos eventos mas

si justamente watcher lo vi usándolo con una clase button pero vi que hacia prácticamente lo mismo que observer de ahí que me surgió la pregunta.

bueno se me van aclarando un poco las ideas.

Saludos gracias vuott por la respuesta



 
v3ctor - Perfil MP  
v3ctor [ Jueves, 22 Junio 2017, 21:38 ]
Citar    Descargar mensaje  
Mensaje Re: Cual Es La Diferencia Entre Watcher Y Observer? 
 
v3ctor escribió: [Ver mensaje]
Watcher hereda todo de observer

Uhmmm....   no creo que hereda todo de la Clase "Observer", porque "Observer" permite levantar todos los especificos eventos propios de la Clase del objeto que él observa.
Por el contrario la Clase "Watcher" no puede hacerlo.

Por ejemplo, esto es posible:
Public Sub Form_Activate()
  
  Dim ob As Observer
      
   ob = New Observer(Button1) As "Boton"
      
End


Public Sub Boton_Click()

  Print "Yo NO soy Pythonista !"

End


Esto no es posible:    
Private w As Watcher


Public Sub Form_Activate()
  
  w = New Watcher(Button1) As "Boton"

End


Public Sub Boton_Click()

  Print "Yo SOY Pythonista !"

End



Es decir que la Clase "Watcher" ofrece 4 eventos, que se añaden a los eventos que la Clase del objeto observado posee ab origine.

Asì nosotros tendremos:
Private w As Watcher


Public Sub Form_Activate()
  
  w = New Watcher(Button1) As "Boton"
      
End


Public Sub Boton_Move()

  Print "Evento Boton_Move() !"

End


Public Sub Button1_Click()

   Print "Evento Button1_Click() !"

End

Public Sub Button2_Click()

  Button1.Move(20, 20, 30, 40)

End


o si tu prefieres usar tambien la Clase "Observer":
Private w As Watcher


Public Sub Form_Activate()
  
  Dim obs As Observer
  
  w = New Watcher(Button1) As "Boton"
  
  obs = New Observer(Button1) As "Bbtt"
      
End


Public Sub Boton_Move()

  Print "Evento Boton_Move() !"

End


Public Sub Bbtt_Click()

   Print "Evento Bbtt_Click() con "; Quote("Observer"); " !"

End

Public Sub Button2_Click()

  Button1.Move(20, 20, 30, 40)

End




 
vuott - Perfil MP  
vuott [ Jueves, 22 Junio 2017, 22:37 ]
Mostrar mensajes anteriores:    
Publicar nuevo tema  Responder al tema  Página 1 de 1
 
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 


   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.428s (PHP: -71% SQL: 171%)
Consultas SQL: 46 - Debug off - GZIP Activado