/************************************************************************************************** |
觀察者模式: 定義了一種一隊多的依賴關係,讓多個觀察者對象同時監聽某一個主題對象。這個主題對象在狀態上發生變化時,會通知所有觀察者對象,使他們能夠自動更新自己,文字淺顯易懂,在實際應用中業務場景變幻莫測。
§ 場景1
當我們需要對不同的系統異常做不同的事務處理時:
1、 針對數據庫異常做短信報警
2、 針對安全類異常做防範處理的決策支持
3、 針對接口類異常做更高優先級報警
4、 針對應用類異常,做不同分類日誌記錄
5、 ……
當然有些不是隻用觀察者可以解決的問題,暫時不討論關聯方案。類圖如下:
代碼示例:
http://download.csdn.net/download/webwalker/7470435
/// <summary>
/// 數據訪問類異常
/// </summary>
public class DataAccessException : BaseException
{
DataAccessException()
{
ExceptionSubject s = new ExceptionSubject();
s.registerObserver(new MobileObserver(s));
s.registerObserver(new EmailObserver(s));
s.registerObserver(new DBLogObserver(s));
s.AppException = this;
s.notifyObserver();
}
}
$ 場景2
希望各位一起補充!