2011-03-09 5 views
0

J'utilise l'interface Observable class/Observer dans JAVA pour implémenter le pattern d'observateur. Si j'ai un objet que je veux pouvoir observer plusieurs autre objet observable (observables multiples) et avoir plusieurs observateur (observateur multiple)Observateur multiple et observable multiple

Le problème n'est pas un obsolète dans la classe B, mais je veux évaluer dans A et B pour générer le graphique

public void update(Observable anObservable, Object anObject) { 
    if(anObservable instanceof A){ 
     createDataSet(anObservable,null); 
    } 
    else if(anObservable instanceof B) 
    { 
     createDataSet(null,anObservable); 
    }  
} 
private void (Observable anSampleObservable,Observable anAreaObservable){ 
// To do something with value in anSampleObservable (A) and value in anAreaObservable(B)} 

Un conseil? Merci.

Répondre

0

Plusieurs objets observables peuvent être obtenus en laissant l'objet transmis être Collection d'objets.

Vous pouvez également facilement avoir plusieurs observateurs ou observables. Prenons l'exemple suivant:

class Model1 extends Observable {} 
class Model2 extends Observable {} 

class Controller1 implements Observer { 
    public void update(Observable o, Object object) {} 
}  

class Controller2 implements Observer { 
    public void update(Observable o, Object object) {} 
} 

qui peut être câblé ensemble en utilisant:

Model1 model1 = new Model1(); 
Model2 model2 = new Model2(); 
model1.addObserver(new Controller1()); 
model2.addObserver(new Controller2()); 
0

devrait fonctionner correctement. ajoutez simplement cette vue/observateur unique à tous les modèles/observables que vous voulez observer.