说明
某文件管理系统中定义了类OfficeDoc和DocExplorer。
当类OfficeDoc发生变化时,类DocExplorer的所有对象都要更新其自身的状态。
现采用观察者(Observer)设计模式来实现该需求,其类图如下图所示。
Java代码
import java.util.*; //把util这个包下的全部类导入到程序中
//*表示的是通配符,包括util的所有类
interface Observer {
//定义算法的公共接口Observer
public void update();
}
interface Subject {
//定义算法的公共接口Subject
public void Attach(Observer obs); //注册对主题感兴趣的观察者
public void Detach(Observer obs); //删除观察者
public void Notify(); //当主题发生变化时通知观察者
public void setStatus(int status);
public int getStatus()