我的設計模式之旅[6]:Adapter Pattern 類別適配器 C# 實作
C# 版類別適配器:TriangleDrawAdapter 繼承 Triangle 並實作 IDrawStrategy。C# 單一繼承限制,僅能繼承一個類別,故
我的設計模式之旅[6]:Adapter Pattern 類別適配器 C++/CLI 實作
C++/CLI 版類別適配器,利用多重繼承:TriangleDrawAdapter 同時繼承 IDrawStrategy 與 Triangle。 關鍵程式碼
我的設計模式之旅[6]:Adapter Pattern 類別適配器 VB.NET 實作與缺點分析
VB.NET 版類別適配器:每個具體類別需對應一個適配器類別(TriangleDrawAdapter、CircleDrawAdapter、SquareDrawA
我的設計模式之旅[6]:Adapter Pattern 物件適配器 ISO C++ 實作
ISO C++ 版物件適配器,使用指標與虛擬函數實作多型。DrawAdapter 持有 IPaint*,draw() 轉呼叫 _adaptee->pain
我的設計模式之旅[6]:Adapter Pattern 與 Strategy Pattern 結合 C# 實作 (物件適配器)
C# 版物件適配器實作,架構同前:Grapher 依賴 IDrawStrategy,既有類別實作 IPaint,DrawAdapter 組合 IPaint 並轉
我的設計模式之旅[6]:Adapter Pattern 與 Strategy Pattern 結合 C++/CLI 實作 (物件適配器)
C++/CLI 版本展示相同架構:Grapher 使用 IDrawStrategy,既有繪圖類別實作 IPaint,透過 DrawAdapter(物件適配器)橋
我的設計模式之旅[6]:Adapter Pattern 與 Strategy Pattern 結合 VB 實作 (物件適配器)
本文展示 VB.NET 版本,結合 Strategy Pattern 與 Adapter Pattern(物件適配器),讓 Grapher 能使用既有 IPai
我的設計模式之旅[5]:Facade Pattern 概念與捷運買票範例 (C++)
Facade Pattern 意圖:為子系統的一組介面提供統一的高層介面,使子系統更容易使用。 兩大典型應用場景 將程序導向系統包裝成 OO(如 M
我的設計模式之旅[5]:Facade Pattern 結語與已知應用 (C++)
Facade Pattern 將複雜子系統包裝成簡單介面,讓客戶端程式碼大幅簡化: int main() { TicketMachineFacade T
我的設計模式之旅[4]:運用 C# Generic 改良 Strategy Pattern (上)
系列第四篇開啟 C# 版本探討。C# 2.0 引入 Generics,嘗試將 C++ Template 版 Strategy Pattern 移植。核心概念相同
我的設計模式之旅[4]:運用 C# Generic 改良 Strategy Pattern (下)
承上篇,C++ Template 成功解決策略介面型別綁定問題。本文嘗試用 C# 2.0 Generics 達成相同目標,並探討兩者關鍵差異:C# Generi
我的設計模式之旅[3]:Strategy Pattern 傳遞完整物件解決需求變更 (C++)
系列第三篇的起點:需求變更要求 Grapher 能在各形狀中印出文字。若直接修改 IShape::draw(const char*),未來若需繪製圖片而非文字,
我的設計模式之旅[3]:Strategy Pattern 多型傳遞 this 指標實作 (C++)
本文承接前一篇,示範在不使用 Template 的情況下,如何利用多型與 *this 指標,讓 Grapher 將自身傳遞給策略物件,使策略能存取 Graphe
我的設計模式之旅[3]:運用 Template 改良 Strategy Pattern (C++)
在先前的實作中,IShape 介面的 draw() 方法強制綁定 Grapher 型別,導致若未來有其他類別(如 Painter)想複用這些策略,卻因缺乏繼承或
我的 Design Pattern 之旅 [4]:使用 Generic 改進 Strategy Pattern (3)
Generic 改進 Strategy Pattern:IGrapher 介面雙向協作與多上下文複用 核心代碼 interface IGrapher { s
我的 Design Pattern 之旅 [2]:Template Method Pattern (1) - 核心概念與 UML
Template Method Pattern 核心意圖、UML 結構與煮飲料機演進案例 Abstract 學到的第二個模式,易懂且極具實用價值。 Inte
我的 Design Pattern 之旅 [2]:Template Method Pattern (2) - C++ 經典實現
Template Method Pattern C++ 經典虛函數實現:煮飲料流程標準化與子類別客製化 核心代碼 class DrinkMachine {
我的 Design Pattern 之旅 [2]:Template Method Pattern (3) - C++ Template 實現
Template Method Pattern C++ Template 實現:CRTP 靜態多態消除虛函數開銷 核心代碼 (Quark 提供) templ