iT邦幫忙

鐵人檔案

2023 iThome 鐵人賽
回列表
自我挑戰組

設計模式 系列

隨著編寫的程式越來越多,不難發現有些問題會在多個專案中重複出現,頂尖軟體專家過去也同樣經歷過,他們對這些問題提出一系列的解法,這些解法稱為 "設計模式"。

鐵人鍊成 | 共 30 篇文章 | 0 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day11 - 組合模式(Composite pattern)

介紹組合模式將多個物件組成樹狀結構(tree),並讓使用者透過單一介面來操作這些組合物件。 C++範例 #include <iostream> #i...

2023-09-24 ‧ 由 scout 分享
DAY 12

Day12 - 裝飾者模式(Decorator pattern)

介紹裝飾者模式在物件上動態加入其他行為或職責,提供除了創建子類外的另一種方法。 以下範例是利用裝飾者模式,在義大利pizza上加入大量的鳳梨。 C++範例 #i...

2023-09-25 ‧ 由 scout 分享
DAY 13

Day13 - 享元模式(Flyweight pattern)

介紹享元模式透過共享物件來減少資源使用。此模式將物件分為內部及外部狀態。內部狀態是固定的,可分享給大家使用,外部狀態則隨外在環境改變,並由外在環境維護。 C++...

2023-09-26 ‧ 由 scout 分享
DAY 14

Day14 - 代理模式(Proxy pattern)

介紹代理模式對目標物件提供額外的存取限制。 C++範例 #include <iostream> #include <memory> c...

2023-09-27 ‧ 由 scout 分享
DAY 15

Day15 - 責任鏈模式(Chain of responsibility pattern)

介紹責任鏈模式為將請求發送至一條由多個物件串成的鏈,請求會逐一被鏈上的物件處理,直到該請求被完成。 C++範例 #include <iostream&gt...

2023-09-28 ‧ 由 scout 分享
DAY 16

Day16 - 策略模式(Strategy pattern)

介紹策略模式將同系列的算法封裝起來,讓使用者可在runtime時替換這些算法。 C++範例 #include <iostream> class S...

2023-09-29 ‧ 由 scout 分享
DAY 17

Day17 - 狀態模式(State pattern)

介紹狀態模式讓物件的行為隨著內部狀態不同而改變。 C++範例 #include <iostream> #include <string>...

2023-09-30 ‧ 由 scout 分享
DAY 18

Day18 - 命令模式(Command pattern)

介紹命令模式將請求封裝為物件,透過不同的請求可對客戶進行參數化。 C++範例 #include <iostream> using namespace...

2023-10-01 ‧ 由 scout 分享
DAY 19

Day19 - 解釋器模式(Interpret pattern)

介紹解釋器模式使用已定義語言來解釋傳入的句子。 C++範例 #include <iostream> #include <vector>...

2023-10-02 ‧ 由 scout 分享
DAY 20

Day20 - 迭代器模式(Iterator pattern)

介紹迭代器模式提供順序訪問容器內的元素,而不暴露該容器內部實作。 C++範例 #include <iostream> #include <st...

2023-10-03 ‧ 由 scout 分享