物件導向程式設計時,應當牢記:保持物件小型化、模組化、非耦合以及流線型。
1、介面卡模式
@1將某個物件的介面適配為另乙個物件所期望的介面
2、建造者模式
@1、建造者模式的目的是消除其他物件的複雜建立過程
3、裝飾器模式
通俗理解:裝飾..
@1、如果已有物件的部分內容或功能性發生改變,但是不需要修改原始物件的結構,那麼使用裝飾器設計模式最合適。
4、委託模式
通俗理解:消除if else等不可控的判斷語句,建立不同的類傳入不同引數來實現自動載入
去除核心物件的判決和複雜的功能性
5、外觀模式(書籍:第70頁有典型案例)
用於處理人們誤認為簡單的複雜元件
@1通過在必須的邏輯和方法前建立簡單的外觀介面,外觀設計模式隱藏了來自呼叫物件的複雜性
6、工廠模式
工廠模式提供了某個物件獲取某個物件的新例項的介面,同時使呼叫**避免確定實際例項化基類的步驟
7、直譯器模式
參考文章:
8、迭代器設計模式
可 幫助構造特定物件,那些物件能夠提供單一標準介面迴圈或迭代任何型別的可計數資料
9、中介者模式
處理具有類似屬性,並且屬性需要保持同步的非耦合物件時,最佳的做法是使用基於中介者設計模式的物件。
10、觀察者模式
在需要向**庫中新增新功能性而不知道核心物件的時候,我們可以使用觀察者設計模式。
使用案例:外掛程式
11、原型模式
在需要經常建立資源集中型物件的情況,可以採用原型模式
複製和轉殖初始物件或原型。
12、**模式
13、單元素模式(單列模式)
通過提供對自身共享例項的訪問,單元素設計模式用於限制特定物件只能被建立一次
應當阻止建立某個物件的多個例項。
14、策略模式
比如在物件導向程式設計過程中,某個具體的模組繼承乙個公用的基類,基類包含了大量的方法,而基類的大部分例項不會呼叫這些方法,接下來的重構步驟涉及從基類中取出這些方法以及將其新增入只在需要時建立的具體類中。這是策略設計模式的真正魅力。
15、模板模式
建立定義了設計常規步驟,但實際邏輯留給子類進行詳細說明的物件時,最佳做法採用模板設計模式
16、訪問者模式(看**,並記錄下來)
訪問者設計模式構造了包含某個演算法的截然不同的物件,在父物件以標準方式使用這些物件時就會將該演算法應用于父物件。
當建立被封裝在外部類中、能夠以標準方式應用於主類的功能性時,可以使用訪問者設計模式。
設計模式之美28 命令模式
定義 命令模式將請求 命令 封裝為乙個物件,這樣可以使用不同的請求引數化其他物件 將不同請求依賴注入到其他物件 並且能夠支援請求 命令 的排隊執行 記錄日誌 撤銷等 附加控制 功能。使用不多 命令模式用的最核心的實現手段,是將函式封裝成物件。但是,在大部分程式語言中,函式沒法兒作為引數傳遞給其他函式...
php設計 PHP常用設計模式
1 單例模式指在整個應用中只有乙個物件例項的設計模式 class single public rand static private instance 類直接呼叫 final private function construct private防止外部new this rand mt rand 1,...
PHP設計模式 工廠設計模式
工廠模式,如其名稱一樣,就是乙個工廠,用於建立產品。使用工廠模式的好處就是請求者只需要發出請求,具體的例項化過程交給工廠模式,省去了new的過程。並且如果後期開發,類名發生變化,只需要調整工廠模式中一行new相關 不需要修改一大堆 最簡單的工廠模式,實際上就是乙個switch case結構,通過傳入...