設計模式(Java)-觀察者模式

類圖

這裏寫圖片描述

#####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+"-------------");
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章