¿Cuándo debemos usar Observador y Observable?
Un entrevistador me preguntó:
Que esObserver
yObservable
¿Y cuándo debemos usarlos?
No estaba al tanto de estos términos, así que cuando volví a casa y empecé a buscar en GoogleObserver
yObservable
, Encontré algunos puntos de diferentes recursos:
1)Observable
es una clase yObserver
es una interfaz
2) ElObservable
clase mantiene una lista deObserver
s.
3) Cuando unObservable
objeto se actualiza, invoca elupdate()
método de cada uno de susObserver
s para notificar eso, se cambia.
Encontré este ejemplo:
import java.util.Observable;
import java.util.Observer;
class MessageBoard extends Observable
{
public void changeMessage(String message)
{
setChanged();
notifyObservers(message);
}
}
class Student implements Observer
{
@Override
public void update(Observable o, Object arg)
{
System.out.println("Message board changed: " + arg);
}
}
public class MessageBoardTest
{
public static void main(String[] args)
{
MessageBoard board = new MessageBoard();
Student bob = new Student();
Student joe = new Student();
board.addObserver(bob);
board.addObserver(joe);
board.changeMessage("More Homework!");
}
}
Pero no entiendo por qué necesitamosObserver
yObservable
? Que son lossetChanged()
ynotifyObservers(message)
métodos para?