原创 12_享元模式

享元模式是一種結構型設計模式,它通過共享細粒度的對象來最大限度地減少內存使用和對象創建的數量。享元模式通過將共享對象的狀態外部化,使得對象可以共享,並提供了一個工廠類來管理共享對象的創建和獲取。 享元模式有五個主要角色: 享元接口(Fl

原创 15_模板模式

模板模式是一種行爲型設計模式,它定義了一個抽象類作爲算法的骨架,而將一些步驟的具體實現延遲到子類中。模板模式提供了一個統一的算法流程,但允許子類根據需要重寫算法的具體步驟。 模板模式有三個主要角色: 抽象類(Abstract Class

原创 11_外觀模式

外觀模式是一種結構型設計模式,它提供了一個統一的接口,用於訪問子系統中的一組接口。外觀模式通過將客戶端與子系統之間的複雜依賴關係解耦,簡化了客戶端的使用。 外觀模式有三個主要角色: 外觀(Facade):提供了一個統一的接口,用於訪問子

原创 10_裝飾模式

裝飾模式是一種結構型設計模式,它允許我們在不改變現有對象結構的情況下,動態地向對象添加額外的功能。 裝飾模式有四個主要角色: 抽象組件(Component):定義了一個抽象接口,用於被具體組件和具體裝飾器實現。 具體組件(Concr

原创 09_組合模式

組合模式是一種結構型設計模式,它允許我們將對象組合成樹狀結構,以表示“整體-部分”的層次結構。組合模式使得客戶端可以統一地處理單個對象和組合對象,無需區分它們的差異。 組合模式有三個主要角色: 組件(Component):定義了組合中的

原创 08_橋接模式

橋接模式是一種結構型設計模式,它將抽象和實現分離,使它們可以獨立地變化。橋接模式通過將實現細節從抽象中分離出來,使得抽象和實現可以獨立地進行擴展和修改。 橋接模式有四個主要角色: 抽象類(Abstraction):定義了抽象類的接口,幷

原创 07_適配器模式

適配器模式是一種結構型設計模式,它通過將一個類的接口轉換成客戶端所期望的另一個接口,使得原本由於接口不兼容而不能一起工作的類能夠協同工作。 適配器模式有三個主要角色: 目標接口(Target):定義了客戶端所期望的接口。 源接口(A

原创 05_建造者模式

建造者模式是一種創建型設計模式,旨在讓你能夠創建複雜對象,而無需直接在應用程序中指定其具體類型。通過建造者模式,你可以將對象的構建過程和表示分離,從而使相同的構建過程可以創建不同表示形式的對象。這種模式通常包括以下幾個關鍵組件: 產品(

原创 06_原型模式

原型模式是一種創建型設計模式,它通過克隆現有對象來創建新對象,而不是通過實例化類來創建。原型模式允許我們創建具有相同屬性和方法的對象集合,從而減少了對象的創建成本。 在原型模式中,我們首先創建一個原始對象,然後通過克隆該對象來創建新的對象。

原创 01_單例模式

單例模式是一種常見的設計模式,用於確保一個類只有一個實例,並提供一個全局訪問點。在單例模式中,類會提供一個靜態方法來獲取其唯一實例,如果該實例不存在則會創建一個新實例,否則返回已有的實例。 public sealed class Cou

原创 03_工廠方法模式

工廠方法模式是一種創建型設計模式,用於定義一個創建對象的接口,但將實際創建對象的工作延遲到子類中。這樣可以使一個類的實例化延遲到其子類中,從而實現解耦和靈活性。 在工廠方法模式中,通常包含以下幾個角色: 抽象工廠(Creator):定義創

原创 02_簡單工廠模式

簡單工廠模式(Simple Factory Pattern)是一種創建型設計模式,屬於工廠模式的一種。在簡單工廠模式中,通過一個工廠類來負責創建對象實例,而客戶端無需直接創建對象,只需要通過工廠類來獲取所需的對象。 簡單工廠模式包含以下幾個

原创 04_抽象工廠模式

        抽象工廠模式是一種創建型設計模式,它提供一個接口用於創建一系列相關或相互依賴對象的工廠,而不需要指定具體的類。這種模式通過提供一個抽象的工廠接口,使得客戶端可以創建一系列產品對象而無需關心具體的實現細節。        在抽

原创 14.分佈式事件總線MassTransit的簡單使用

簡介:         MassTransit,直譯公共交通, 是由 Chris Patterson 開發的基於消息驅動的.NET 分佈式應用框架,其核心思想是藉助消息來實現服務之間的松耦合異步通信,進而確保應用更高的可用性、可靠性和可擴展

原创 12.NET觀察者模式,發佈與訂閱

定義對象間一種一對多的依賴關係,使得每當一個對象改變狀態,則所有依賴於它的對象都會得到通知並被自動更新。 ——發佈訂閱模式 發佈訂閱模式主要有兩個角色: 1.發佈方(Publisher):也稱爲被觀察者,當狀態改變時負責通知所有訂閱者。 2