代理模式 - Proxy Pattern
用途 透過代理控制對要訪問的物件加上一些額外的操作 classDiagram IEditor <|.. EditorProxy IEditor <|.. Writer EditorProxy --> Writer Client ..> IEditor class IEditor{ <<Interface>>...
用途 透過代理控制對要訪問的物件加上一些額外的操作 classDiagram IEditor <|.. EditorProxy IEditor <|.. Writer EditorProxy --> Writer Client ..> IEditor class IEditor{ <<Interface>>...
用途 動態地往一個類別中添加新的行為 classDiagram IProduct <|.. Product IProduct <|-- AbstractDecorator IProduct --o AbstractDecorator AbstractDecorator <|-- ConcreteDecoratorA AbstractDecor...
用途 透過抽象工廠模式使客戶端程式碼與具體產品的實現解耦,提高程式碼的可擴展性和可維護性 classDiagram Client ..> IFactory Client ..> ProductA Client ..> ProductB ProductA <|-- FactoryAProductA ProductA <|-- Fac...
用途 處理在不指定對象具體類別的情況下建立對象的問題 classDiagram IProduct <|-- ConcreteProductA IProduct <|-- ConcreteProductB IFactory <|-- ConcreteFactoryA ConcreteProductA <.. ConcreteFactoryA ...
用途 雙重檢查鎖定模式(也被稱為”雙重檢查加鎖優化”,”鎖暗示”(Lock hint))是一種軟體設計模式用來減少並發系統中競爭和同步的開銷。雙重檢查鎖定模式首先驗證鎖定條件(第一次檢查),只有通過鎖定條件驗證才真正的進行加鎖邏輯並再次驗證條件(第二次檢查)。 Class // Java 5中的final語義可以不使用volatile關鍵字實現安全的創建對象 public c...
用途 在軟體開發中,簡單工廠模式用於封裝物件的創建邏輯, 客戶只需要提供必要的參數,而不需要關心具體的物件創建過程。 classDiagram Product <|-- ConcreteProductA Product <|-- ConcreteProductB Product <.. Client Factory <.. Clien...
用途 將複雜對象的建造過程抽象出來(抽象類別),使這個抽象過程的不同實現方法可以構造出不同表現(屬性)的對象。 classDiagram ConcreteBuilder <.. Client Director <.. Client Builder <--o Director Builder <|-- ConcreteBuilder cl...
用途 通過複製(Clone)一個已經存在的實例來返回新的實例,而不是新建(new)實例。 被複製的實例就是我們所稱的「原型」,這個原型是可定製的。 classDiagram IPrototype <.. Client IPrototype <|-- ConcretePrototype1 IPrototype <|-- ConcreteProto...
用途 在軟體開發中,單例模式(Singleton Pattern)用於確保一個類別只能創建一個實例並提供一個全域的訪問點來獲取這個唯一的實例 classDiagram class Singleton{ -Singleton singleton$ +Singleton GetInstance()$ } 例子 當談到單例模式時,我們可以使用一個現實生活的例子來解...
用途 模板方法模式(Template Method Pattern)是一種行為型設計模式,它定義了一個演算法的骨架,將某些步驟延遲到子類別中實作。這個模式讓子類別可以在不改變演算法結構的情況下,重新定義演算法的某些特定步驟。 主要特色: 演算法骨架:在父類別中定義演算法的基本結構 步驟抽象化:將可變的步驟定義為抽象方法或虛擬方法 繼承機制:子類別透過繼承來實作特定的步驟 ...