2011-03-09 43 views
0

我在JAVA中使用Observable类/ Observer接口来实现观察者模式。如果我有一个对象,我希望能够观察其他可观察对象(多个可观察对象)并且有多个观察者(多个观察者)多个Observer和多个Observable

该问题在B类中不是可观察的,但我想在A和B生成图表

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)} 

有什么建议吗?谢谢。

回答

0

通过让传递的对象成为对象的Collection可以实现多个可观察对象。

你也可以很容易地拥有多个观察者或观察者。考虑下面的示例:

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) {} 
} 

可使用被连接在一起:

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

应该正常工作。只需将该单视图/观察者添加到您要观察的所有模型/观察对象即可。

相关问题