類圖
#####Coding
package WatchPattern;
import java.util.List;
/**
* Created by jiangcw on 2017/2/4.
*/
public interface ISubject {
public void attachWatcher(IWatcher watcher);
public void removeWarcher(IWatcher watcher);
public void notifyAll(String str);
}
package WatchPattern;
import java.util.ArrayList;
import java.util.List;
/**
* Created by jiangcw on 2017/2/4.
*/
public class Subject implements ISubject {
private List<IWatcher> watcherList=new ArrayList<>();
@Override
public void attachWatcher(IWatcher watcher) {
this.watcherList.add(watcher);
}
@Override
public void removeWarcher(IWatcher watcher) {
this.watcherList.remove(watcher);
}
@Override
public void notifyAll(String str) {
for(IWatcher w:watcherList){
w.update(str);
}
}
}
package WatchPattern;
/**
* Created by jiangcw on 2017/2/4.
*/
public interface IWatcher {
public void update(String str);
}
package WatchPattern;
/**
* Created by jiangcw on 2017/2/4.
*/
public class Watcher implements IWatcher {
@Override
public void update(String str) {
System.out.println("----------"+str+"-------------");
}
}