系列彙總 二十三種設計模式

2022-07-23 15:15:19 字數 1064 閱讀 5842

最近在讀gof的design patterns: elements of reusable object-oriented software(設計模式:可復用物件導向軟體的基礎),學習前輩們的經驗來增加自己的編碼設計能力。在學習的過程中,會把我從書上學到的知識以及自己的理解寫到這裡。一方面能夠鞏固自己學到的東西同時方便以後的複習,另一方面是希望能夠幫助到那些跟我一樣不大了解設計模式的人。

在學習的過程中會發現,在我們日常工作中不知不覺就已經使用了很多設計模式。我理解的設計模式不是一套固定的**,更多的是一種設計理念。它能夠幫助我們解決特定的設計問題,使我們的程式更加靈活、優雅以及更高的復用性。但它也不是完美的,只是在特定需求、特定問題下最理想的解決方案。

文章中的示例均使用.net,不同開發語言的實現方式可能有所不同。

[1] - 工廠方法 (factory method)

[2] - 抽象工廠 (abstract factory)

[3] - 生成器 (builder)

[4] - 原型 (prototype)

[5] - 單件 (singleton)

[6] - 介面卡 (adapter)

[7] - 橋接 (bridge)

[8] - 組合 (composite)

[9] - 裝飾 (decorator)

[10] - 外觀 (facade)

[11] - 享元 (flyweight)

[12] - ** (proxy)

[13] - 職責鏈 (chain of responsibility)

[14] - 命令 (command)

[15] - 直譯器 (interpreter)

[16] - 迭代器 (iterator)

[17] - 中介者 (mediator)

[18] - 備忘錄 (memento)

[19] - 觀察者 (observer)

[20] - 狀態 (state)

[21] - 策略 (strategy)

[22] - 模板方法 (template method)

[23] - 訪問者 (visitor)

二十三種設計模式 羅列

1 工廠方法模式 factory method 2 抽象工廠模式 abstract factory 3 單例模式 singleton 4 建造者模式 builder 5 原型模式 prototype 6 介面卡模式 adapter 7 裝飾模式 decorator 8 模式 proxy 9 外觀模式...

二十三種設計模式之組合模式

組合模式 將物件聚合成樹形結構來表現 整體 部分 的層次結構。組合模式能讓客戶以一致的方式來處理個別物件以及物件組合。也就是我們可以忽略物件組合與個體之間的差別。應用場景 餐廳合併列印主選單 子選單 public abstract class menucomponent public string ...

二十三種設計模式之工廠模式

工廠模式的核心 例項化物件 原因 有些物件不能直接例項化,比如介面 抽象類及複雜物件的其他依賴 核心 呼叫工廠class的靜態方法例項化物件 以日誌為例 public class staticfactory 核心 先建立工廠物件,之後呼叫工廠方法 例項化工廠模式 public class insta...