Java设计模式 - 观察者模式 - 编程入门网
removeObserver(IObserver observer) {
if(!_observers.contains(observer)) {
System.out.println("< " + observer + " > is never registed!");
}
// Remove an observer
_observers.remove(observer);
System.out.println("< " + observer + " > is removed successfully!");
}
@Override
public String getCheckList() {
return this._checkList;
}
@Override
public String getProcess() {
return this._process;
}
@Override
public String getStatus() {
return this._status;
}
@Override
public void setCheckList(String checkList) {
this._checkList = checkList;
}
@Override
public void setProcess(String process) {
this._process = process;
}
@Override
public void setStatus(String status) {
this._status = status;
}
// 这里将观察者列表定义为一个静态的变量,这样可以保证自始至终只有一个变量列表,便于系统的维护。
// 这里用到了泛型,这样在对这个列表进行操作的时候,无需再进行类型的转换。
private static List<IObserver> _observers;
private String _status;
private String _process;
private String _checkList;
}
Java设计模式 - 观察者模式(3)时间:2011-01-17 GooooWei在这里我们没有给观察者定义接口,而是使用了一个抽象类。因为所有的观察者都必须从主体对象那里获取信息,而且获取信息的方法都是一样的,这样可以避免重复编码。
然后定义任务受托人[assignee],检查者,报告者。他们都继承TaskObserver类,这样减少了代码的重复,而且方便了代码的维护。
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |