下載下傳 23種設計模式源碼 : http://download.csdn.net/download/knight_black_bob/8936043
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
建立型模式,共五種:
工廠方法模式 抽象工廠模式 單例模式 建造者模式 原型模式 結構型模式,共七種: 擴充卡模式 裝飾器模式 代理模式 外觀模式 橋接模式 組合模式 享元模式 行為型模式,共十一種: 政策模式 模闆方法模式 觀察者模式 疊代子模式 責任鍊模式 指令模式 備忘錄模式 狀态模式 通路者模式 中介者模式 解釋器模式package 設計模式.觀察者模式;
/**
* @author baoyou E-mail:[email protected]
* @version 建立時間:2015年7月27日 上午10:33:22
* des:
*/
public interface Watcher {
public void update(String str);
}
package 設計模式.觀察者模式;
/**
* @author baoyou E-mail:[email protected]
* @version 建立時間:2015年7月27日 上午10:33:33
* des:
*/
public interface Watched {
public void addWatcher(Watcher watcher);
public void removeWatcher(Watcher watcher);
public void notifyWatchers(String str);
}
package 設計模式.觀察者模式;
import java.util.ArrayList;
import java.util.List;
/**
* @author baoyou E-mail:[email protected]
* @version 建立時間:2015年7月27日 上午10:34:58
* des:
*/
public class ConcreteWatched implements Watched{
private List<Watcher> list = new ArrayList<Watcher>();
@Override
public void addWatcher(Watcher watcher) {
list.add(watcher);
}
@Override
public void removeWatcher(Watcher watcher) {
list.remove(watcher);
}
@Override
public void notifyWatchers(String str) {
for (Watcher watcher : list) {
watcher.update(str);
}
}
}
package 設計模式.觀察者模式;
/**
* @author baoyou E-mail:[email protected]
* @version 建立時間:2015年7月27日 上午10:34:33
* des:
*/
public class ConcreteWatcher implements Watcher {
@Override
public void update(String str) {
System.out.println(str);
}
}
package 設計模式.觀察者模式;
/**
* @author baoyou E-mail:[email protected]
* @version 建立時間:2015年7月27日 上午10:28:36
* des:
*/
public class ObserverTest {
public static void main(String[] args) {
Watched weather = new ConcreteWatched();
Watcher observer1 = new ConcreteWatcher();
Watcher observer2 = new ConcreteWatcher();
Watcher observer3 = new ConcreteWatcher();
weather.addWatcher(observer1);
weather.addWatcher(observer2);
weather.addWatcher(observer3);
weather.notifyWatchers("大風暴 要來了,船員們站好自己的崗位");
}
}

捐助開發者
在興趣的驅動下,寫一個
免費
的東西,有欣喜,也還有汗水,希望你喜歡我的作品,同時也能支援一下。 當然,有錢捧個錢場(右上角的愛心标志,支援支付寶和PayPal捐助),沒錢捧個人場,謝謝各位。
謝謝您的贊助,我會做的更好!