單例模式:
多個客戶端只能使用同乙個物件,不允許建立其他物件
懶漢式:在需要呼叫物件時候才建立
餓漢式:在呼叫之前已經建立
簡單工廠模式:
對目標類的不同實現的建立統一由乙個工廠建立
客戶端不需要只能具體建立細節,只需要向工廠指定具體的實現類
當新增了新的實現類時,需要修改工廠增加新的建立**,違背關閉原則
工廠方法模式:
為了解決簡單工廠模式的缺點,建立工廠抽象類,具體的工廠實現類建立具體的產品的實現類
增加了系統複雜度,新增產品時,需要新增具體的工廠實現類
抽象工廠模式:
解決乙個工廠只能生產乙個產品的缺點,每個工廠可以建立多個產品
增加新產品時需要新增抽象工廠的實現邏輯
策略模式:
有多個策略實現類,根據不同的場景使用不同的策略,
客戶端需要知道所有的策略
介面卡模式:
把乙個類的介面變成客戶端需要的介面,從而是兩個不匹配的介面能夠一起工作
模式有:類介面卡和物件介面卡
類介面卡:介面卡繼承被適配類實現新的介面
物件介面卡:介面卡持有被適配類實現新的介面
**模式:
**實現了某個介面並持有介面的實現類,使用實現類來實現所有介面方法
場景:防止客戶端使用具體實現類增加系統複雜性
遠端**,虛擬**,許可權等
模板方法模式:
抽象類定義實現過程,具體的過程由子類來實現
建造者模式:
復用**,封裝,使用者不需要知道具體複雜的實現
外觀模式:
由乙個介面統一了幾個不同的子介面,使用者直接使用該介面就能實現需要的功能,不需要知道
具體的子類的實現行為
設計模式筆記
1 類繼承與介面繼承的比較。物件的類與物件的型別的比較 乙個物件的類定義了物件怎麼樣實現的,同時也定義物件內部狀態和操作的實現。但是物件的型別只與他的介面有關,藉口即物件能響應的請求的集合。乙個物件可以有多個型別,不同的類物件可以有相同的型別。理解類繼承和介面繼承之間的差別也十分重要。類繼承根據乙個...
設計模式筆記
設計模式是一種真理,我們在沒有學習過設計模式時都會或多或少的與他不謀而合,但是學習過後我們可以把他從經驗性的東西提煉為理論性的,並且反過來再指導實踐,這應該就是我們學習並使用設計模式的初衷,這好比是政經中的價值規律,任何人都知道東西如果少了而需求大,它 馬上就漲,而反過來 就賤,可是學過政經後就可以...
設計模式筆記
設計模式精解p136,第11章 專家如何進行設計 alexander提到 從片段開始設計不是乙個好的設計方法。即將預先成型的部分新增在一起是無法得到優秀的軟體設計的。但還是可以得到可以工作的軟體的,只是大部分時候難於修改或擴充套件 我的觀點 軟體或者軟體系統都是由 功能模組 和這些 模組之間的聯絡 ...