首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

我的 Design Pattern 之旅 [2]:Template Method Pattern (1) - 核心概念與 UML

     編輯:關於C語言

Template Method Pattern 核心意圖、UML 結構與煮飲料機演進案例

Abstract

學到的第二個模式,易懂且極具實用價值。

Intent

對於操作,只先定義好演算法輪廓,某些步驟留給子類別填補,不改變整體架構下讓子類別精鍊特定步驟。

UML 結構

Template Method UML
圖 1:Template Method Pattern UML 類別圖

演進案例:自動泡茶機 → 自動泡咖啡機

步驟自動泡茶機自動泡咖啡機
Step 1將開水煮開將開水煮開
Step 2將茶葉放入開水將咖啡粉放入開水
Step 3將茶倒入杯子將咖啡倒入杯子
Step 4加上檸檬加上糖和奶精

Step 1 相同,Step 2-4 不同。設計 DrinkMachine 定義流程與 Step 1,Step 2-4 留待子類別實作。

Template Method 結構圖
圖 2:DrinkMachine 基類與 TeaMachine/CoffeeMachine 子類結構

架構優勢驗證

  • 新增飲料:DrinkMachine、既有子類 **無需修改** → Closed for Modification
  • 新增飲料:繼承並實作抽象方法 → Open for Extension
  • 極佳維護性架構

本質總結

Template Method Pattern = 將不同的成員函數用類別封裝,由衍生類別重寫。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved