🧩 Design Patterns

經典軟體設計模式,用小學生能懂的方式解釋

0%
01

Strategy Pattern

讓演算法可以在執行時切換,不用改原本的程式碼

Easy必考6 min
02

Singleton Pattern

確保一個類別只有一個實例,並提供全域存取點

Easy高頻7 min
03

Factory Method Pattern

定義建立物件的介面,讓子類別決定要建立哪種物件

Easy必考6 min
04

Abstract Factory Pattern

提供介面來建立一系列相關的物件,不需指定具體類別

Medium常考6 min
05

Builder Pattern

將複雜物件的建構過程分離,讓相同的建構過程可以建立不同的表示

Easy常考6 min
06

Prototype Pattern

透過複製現有物件來建立新物件,而非從頭建立

Easy偶爾考6 min
07

Adapter Pattern

將一個類別的介面轉換成客戶端期望的另一種介面

Easy常考6 min
08

Bridge Pattern

將抽象與實作分離,讓兩者可以獨立變化

Medium常考5 min
09

Composite Pattern

將物件組合成樹狀結構,讓客戶端可以一致地處理個別物件和組合

Medium常考5 min
10

Decorator Pattern

動態地為物件附加額外的責任,比繼承更靈活

Medium高頻6 min
11

Facade Pattern

為子系統中的一組介面提供一個統一的高層介面

Easy常考5 min
12

Flyweight Pattern

運用共享技術有效地支援大量細粒度的物件

Hard偶爾考8 min
13

Proxy Pattern

為另一個物件提供一個替代品或佔位符,以控制對它的存取

Medium常考6 min
14

Observer Pattern

定義物件間的一對多依賴,當一個物件狀態改變時自動通知所有依賴者

Medium高頻7 min
15

Command Pattern

將請求封裝為物件,讓你可以用不同的請求來參數化客戶端

Medium常考6 min
16

Template Method Pattern

在父類別中定義演算法的骨架,將某些步驟延遲到子類別實作

Easy常考6 min
17

Iterator Pattern

提供一種方法循序存取集合中的元素,而不需要暴露其底層表示

Easy偶爾考6 min
18

State Pattern

讓物件在內部狀態改變時改變它的行為,看起來像是改變了類別

Medium常考6 min
19

Mediator Pattern

定義一個物件來封裝一組物件之間的互動方式

Medium偶爾考6 min
20

Chain of Responsibility Pattern

讓多個物件都有機會處理請求,將處理者串成一條鏈

Medium常考7 min
21

Visitor Pattern

將演算法與物件結構分離,讓你可以在不修改物件的情況下定義新操作

Hard偶爾考6 min
22

Memento Pattern

在不破壞封裝的前提下,捕獲並外部化物件的內部狀態以便之後恢復

Medium偶爾考6 min
23

Interpreter Pattern

為語言定義文法表示,並定義一個解釋器來處理這個文法

Hard了解即可6 min