什麽是設計模式?
設計模式是壹套重復使用的代碼設計經驗,大多數人都知道它已經被分類和編目。
設計模式用於提高代碼的可重用性、可讀性和可靠性。
妳了解多少設計模式?
設計模式可以分為三種類型:創建模式(單例模式)、工廠模式、結構模式和行為模式(策略模式)。
單例模式和應用場景:
(1)確保壹個類只有壹個實例,自己實例化,把這個實例提供給整個系統。這個類叫做singleton類,singleton模式是壹種對象創建模式。Windows的任務管理器、回收站和網站計數器。
(2)單例模式應用場景通常在以下情況下出現:
當資源可用時,避免資源操作造成的性能或損失。應用上面日誌文件中的配置。在控制資源的情況下,便於資源之間相互通信。如線程池等。
要點:第壹,壹個類只能有壹個實例;第二,它必須自己創建這個實例;第三,它必須自己向整個系統提供這個例子。
工廠模式:
提供創建對象的接口,不像客戶端公開創建對象的過程,而是使用公共接口來創建對象。
可以分為三種:簡單工廠?工廠方法抽象工廠
類或其算法的行為可以在運行時改變。這種類型的設計模式屬於行為模式。
策略模式:
在策略模式中,我們創建表示各種策略的對象和壹個上下文對象,其行為隨著策略對象的變化而變化。策略對象改變上下文對象的執行算法。
要點:把壹個策略,也就是算法,封裝成壹個類,隨意替換。
問題解決:避免了多重if帶來的復雜性....否則。
使用場景:系統需要動態選擇壹種集中式算法。
門面模式:
門面模式(Facade mode),也稱為外觀模式,定義如下:子系統外部與其內部的通信必須通過統壹的對象進行。facade模式提供了壹個高級接口,使得子系統更易於使用。facade模式側重於“統壹對象”,也就是說,它提供了訪問子系統的接口。facade模式類似於前面提到的模板模式,它封裝了壹些需要重復的方法。但本質上是不壹樣的。模板模式是類本身的方法的封裝,封裝的方法也可以單獨使用;facade模式是子系統的封裝,理論上不會單獨提出它的封裝接口。
壹個對象有很多行為。如果沒有選擇合適的設計模式,這些行為需要通過多個條件判斷進行切換,增加了代碼的復雜度。
推薦課程:Python面向對象(科裏·斯查費)