Python 設計模式 — Overview
目錄
文章目錄
目錄
設計模式(Design Pattern)
設計模式的分類
一、創建型模式
二、結構型模式
三、行為型模式
設計模式(Design Pattern)
設計模式(Design Pattern)是幾十年來的開發人員經過了長時間的試驗和摸索,總結出來的一套程序設計標準。無論你使用哪種編程語言,做什么類型的項目,甚至處在一個國際化的開發團隊中,當面對同一個設計模式時,你和別人的理解依舊是別無二致。幾乎所有的大型軟件、編程語言、框架都使用了這些標準。
設計模式可以從 2 個方面來理解:
設計:用來解決特定問題的優秀解決方案。
模式:具有通用性的執行方式。
設計模式的作用:
提高代碼的可讀性、可靠性、可復用性,使編程真正工程化;
便于后期維護項目,增強系統的健壯性和擴展性;
鍛煉程序員的設計思維,提高代碼質量。
設計模式具有以下特點:
在架構級別來解決問題。
經過了時間的驗證和良好的證明,是開發人員和架構師的寶貴經驗。
具有可靠性和依賴性。
設計模式很有用,但它要用到合適的場景中才能發揮應有的效果,否則可能出現弊大于利的情況。GoF 在《Design Patterns: Elements of Reusable Object-Oriented Software》一書中提出了 23 種設計模式,可歸納為 3 大類。
這些設計模式在 OOP(面向對象編程語言)中使用最多。值得注意的是,因為 Python 擁有一等函數,所以通常的在語法層面就具備了某些設計模式的特性,也減少了某些設計模式的樣板代碼。
設計模式的分類
一、創建型模式
創建型模式,用于控制或影響一個類的實例化對象的創建過稱。為不同的應用場景提供相應的實例化對象的方式。例如:單例模式。
單例模式:控制實例化對象的數量只存在一個。
工廠方法模式:控制實例化對象時候的類的選擇。
抽象工廠模式:控制實例化對象時候的類的選擇。
建造者模式:控制多個類以相同的流程來實例化對象。
原型模式:通過深度復制原型類讓類的多個實例化更加的迅速。
二、結構型模式
結構型模式,應用于類和對象的構造方式,為不同的應用場景提供相應的類和對象之間的構造關系,使得這些實體能夠更好地協同工作。例如:適配器模式。主要關注類的繼承和組合,致力于設計出通過組合獲得更強大功能的對象和類的結構。
適配器模式:將任意個被適配者(類或系統)中的方法封裝成為一個統一的接口來調用,從而達到適配各種系統方法的目的。
橋接模式:處理(類)抽象部分與(實例化)對象部分之間的結構,使得抽象部分和實例化部分能夠單獨變化而不互相干擾。
組合模式:用于設計一個有層次等級的系統,并處理各層次之間的關系。
裝飾模式:通過裝飾器來擴展一個類或者系統的功能。
外觀模式:為任意個子系統中的相似功能設計一組統一的界面。
享元模式 :讓小粒度高頻使用的類被共享,減少實例化過程,減少損耗。
代理模式:為其他對象提供一種代理,以此控制一個對象的訪問方式。Client 必須通過代理訪問,而不能直接訪問。
三、行為型模式
行為型模式,應用于對象之間的交互方式,為不同的應用場景提供相應的通信方式,為實體之間的通信提供更容易、更靈活的通信方法。
解釋器模式
模板方法模式
責任鏈模式
命令模式
迭代器模式
中介者模式
備忘錄模式
觀察者模式
狀態模式
策略模式
訪問者模式
Python
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。