重新認識策略模式 利用策略實現容錯恢復機制

2021-07-12 05:04:02 字數 728 閱讀 5815

一、說明:   

容錯恢復機制是應用程式開發中常見的功能,在程式執行的時候,正常情況下應該按照某種方式來做,按照某種方式來做發生錯誤的話,系統並不會崩潰。而是由容忍出錯的能力,並且還能在出錯後有備用方案,也就是恢復機制,使程式正常執行下去。

二、例項:

下面乙個例項:所有對系統的操作都有日誌記錄,而且這個日誌還需要有管理介面,通常情況下,會把日誌記錄到資料庫裡面,方便後續的管理,但是在資料庫記錄日誌的時候可能會發生錯誤,那就先記錄到檔案裡面,在核實的時候把檔案裡面的記錄撞到資料庫中。

採用策略模式實現把日誌記錄到資料庫和紙質記錄到檔案兩種日誌記錄的策略,然後在執行期間根據需要進行動態切換。

public inte***ce logstrategy  

public class dblog implements logstrategy

system.out.println("現在把'"+msg+"'記錄到資料庫中");

}}public class filelog implements logstrategy

}public class logcontext catch(exception e)

}}public class client

}

效果圖:

三、總結:

設計模式 重新認識物件導向

從一道面試題講起.分析 第一點 顯然需要有park,floor,place三個類 第二點 每個車位 place 應有乙個in和out方法監控車輛,同時應該有乙個狀態.第三點 顯示空餘車輛的數量,這個行為應該由停車場park來實現,並且是通過每個floor的彙總 第四點 攝像頭class輸入的是乙個車...

利用策略模式實現的執行緒同步

利用策略模式實現的執行緒同步 標頭檔案 ifndef mutex demo define mutex demo include 鎖介面類 class ilock virtual void lock 0 virtual void unlock 0 互斥型的鎖 class mutexlock publi...

c 實現策略模式

策略模式 strategy 它定義了演算法家族,分別封裝起來,讓他們之間可以互相替換,此模式讓演算法的變化,不會影響到使用演算法的客戶。上面是 大話設計模式 中給出的定義,感覺這個概念給的不好,看了之後不能完全清晰明白該模式 可能自己水平太水的原因吧 在 effective c 中指出,策略模式是v...