- 观察者java编程思路:
1.初始化被观察者
2.被观察者中添加观察者
3.设置属性值
4.setChanged方法通知change为true
5.notifyObservers通知观察者并更改change为false
6.观察者会调用update方法,打印出属性值
7.订阅-发布
订阅: observable.addObserver(NumObserver.class.newInstance() );
发布: notifyObservers();
- 观察者javabean编程思路:
2.被观察者中添加观察者或者注册属性监听器PropertyChangeListener
3.设置属性值
4.PropertyChangeSupport管理监听器,调用firePropertyChange方法
5.firePropertyChange(new PropertyChangeEvent(source, propertyName,
oldValue, newValue));
6.Line339行:PropertyChangeListener target = (PropertyChangeListener)list[i];
target.propertyChange(evt);
7.监听器中调用已经重写了propertyChange方法,可以在这个方法中自定义业务逻辑
使用这个类PropertyChangeSupport管理监听器的好处是:
1.它是线程安全的。如果使用一个循环体来set Bean的属性,则这个类可以保证所有监听器执行触发事件的有序。
2.这个类支持fire带索引的属性改变事件(见第5点)
代码下载页面:http://download.csdn.net/detail/stonehigher125/6672929
http://blog.csdn.net/shaopeng5211/article/details/8808061