《設計模式 ● 觀察者》之業務場景

/**************************************************************************************************
** 模式的初衷,無非是爲我們經常出現問題的業務邏輯或系統結構提供好的解決方案,不論
** 是高層的還是較低層次的;而應用模式的主要工作則是模式識別,能將單一或複合的模式
** 結合項目自身的業務特性放在適當的場景中,則需要努力追求和不斷積累。
************************************************************************************************/

 

      觀察者模式: 定義了一種一隊多的依賴關係,讓多個觀察者對象同時監聽某一個主題對象。這個主題對象在狀態上發生變化時,會通知所有觀察者對象,使他們能夠自動更新自己,文字淺顯易懂,在實際應用中業務場景變幻莫測。

§ 場景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

 

希望各位一起補充!


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