例項 -> 類 -> 類工廠
簡單來說就是把一些具有相同方法的類再進行封裝,抽象共同的方法以供呼叫.是工廠方法的高階版本.
例項 -> 類 -> 類工廠 -> 抽象工廠
這個python裡可以使用@property實現,就是當呼叫的時候才生成.
builder模式主要用於構建乙個複雜的物件,但這個物件構建的演算法是穩定的,物件中的各個部分經常變化。builder模式主要在於應對複雜物件各個部分的頻繁需求變動。但是難以應對演算法的需求變動。這點一定要注意,如果用錯了,會帶來很多不必要的麻煩。
重點是將複雜物件的建造過程抽象出來(抽象類別),使這個抽象過程的不同實現方法可以構造出不同表現(屬性)的物件。
簡單的說:子物件變化較頻繁,對演算法相對穩定。
乙個類只有乙個例項
特點是通過複製乙個已經存在的例項來返回新的例項,而不是新建例項.
多用於建立複雜的或者耗時的例項,因為這種情況下,複製乙個已經存在的例項使程式執行更高效;或者建立值相等,只是命名不一樣的同類資料.
乙個物件池是一組已經初始化過且可以使用的物件,而可以不用在有需求時建立和銷毀物件。池的使用者可以從池子中取得物件,對其進行操作處理,並在不需要時歸還給池子而非銷毀 而不是銷毀它.
在python內部實現了物件池技術.例如像小整型這樣的資料引用非常多,建立銷毀都會消耗時間,所以儲存在物件池裡,減少開銷.
python裡就是裝飾器.
例如python裡的引用計數.
迭代容器裡所有的元素.
Python設計模式 狀態設計模式
狀態設計模式的簡單示例 優缺點乙個物件可以基於其內部狀態封裝多個行為。狀態模式可以看作在執行時改變物件行為的一種方式。以收音機為例進行說明。收音機具有am fm 切換開關 兩種調頻方式和乙個掃瞄按鈕。因此根據收音機的基本狀態 am fm 當調諧到am或fm頻道時,掃瞄按鈕的行為就會動態的改變。con...
python設計模式 原形設計模式
一 什麼是原形設計模式 原型設計模式 prototype design pattern 幫助我們建立物件的轉殖,其最簡單的形式就是一 個clone 函式,接受乙個物件作為輸入引數,返回輸入物件的乙個副本。在python中,這可以 使用copy.deepcopy 函式來完成。二 應用案例 三 實現使用...
python設計模式
設計模式 設計模式 是前人工作的總結和提煉,通常,被人們廣泛流傳的設計模式都是針對某 一特定問題 的成熟的解決方案 使用設計模式 是為了可重用 讓 更容易被他人理解,保證 可靠性 1.new 方法 使用 類名 建立物件時,python 的直譯器 首先會呼叫 new 方法 為物件分配空間 new 是乙...