iT邦幫忙

鐵人檔案

2024 iThome 鐵人賽
回列表
Software Development

前端也想學設計模式 系列

設計模式是門有趣且實用的學問,其中包含了許多良好的寫作習慣與設計思維,能夠幫助開發者建立更有系統且易於維護的程式。由於前端的世界裡相關的學習資源較少,因此我希望藉由分享自己的學習心得,讓更多人認識這項美好的技術:)

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

Day 11 - Command 命令

命令模式將請求的行為封裝成物件,發送請求的物件只需要依賴於命令介面而不需要知道背後的實作細節。 生活案例 想像你在得來速點餐,櫃檯人員透過點餐機記下餐點,點餐機...

2024-09-25 ‧ 由 Evans Wu 分享
DAY 12

Day 12 - Facade 表象

表象模式將複雜的系統包裝成簡單的介面,使系統更容易使用。 生活案例 身為一個出遊靠朋友、吃飯跟著走的超級懶人,安排旅行是一件極為痛苦的事。比起花時間找景點,我更...

2024-09-26 ‧ 由 Evans Wu 分享
DAY 13

Day 13 - Adapter 轉接器

轉接器模式允許你在不修改現有程式碼的情況下轉換類別的介面,讓原本互不相容的兩個類別合作無間。 生活案例 出國旅遊時,當地的插座和電壓常常與台灣不同,因此經常需要...

2024-09-27 ‧ 由 Evans Wu 分享
DAY 14

Day 14 - Prototype 原型

原型模式通過讓物件提供複製方法,讓使用者能夠輕鬆複製物件。 生活案例 假設你是世界名畫「蒙娜麗莎的微笑」的收藏家。你經常收到美術館的來信,邀請展出這幅畫作。由於...

2024-09-28 ‧ 由 Evans Wu 分享
DAY 15

Day 15 - Builder 建造者

建造者模式藉由將物件的建構流程和目標對象分離,讓物件的建構過程更有彈性。 生活案例 一間汽車製造工廠生產著各式各樣的的汽車,每款汽車都由不同的零件組成,例如引擎...

2024-09-29 ‧ 由 Evans Wu 分享
DAY 16

Day 16 - Chain of Responsibility 責任鏈

將請求的處理程序分成多個處理器,並讓每個處理器決定如何處理請求。 生活案例 想像蘋果工廠的流水線上有一系列工作站,分別負責清洗、選別和包裝。每個工作站會依序處理...

2024-09-30 ‧ 由 Evans Wu 分享
DAY 17

Day 17 - Template Method 樣板方法

樣板方法提供一個演算法模板,讓子類別在相同的步驟中實踐不同的實作細節。 生活範例 以料理為例,每道菜使用的食材、烹煮方式和擺盤風格各不相同,但都會經歷三個主要步...

2024-10-01 ‧ 由 Evans Wu 分享
DAY 18

Day 18 - Iterator 反覆器

反覆器讓我們取得聚合中的所有元素而不必暴露內部的實作細節。 生活案例 假設你擁有很多電子書,但每本書的格式都不同,有些是 PDF,有些是 txt 檔,有些是網路...

2024-10-02 ‧ 由 Evans Wu 分享
DAY 19

Day 19 - Composite 合成

合成模式藉由統一樹狀結構中所有節點的介面,使不同類型的節點擁有相同的操作介面。 生活範例 一間企業由不同部門組成,部門下有組別,而每個組別還可能有不同的團隊。企...

2024-10-03 ‧ 由 Evans Wu 分享
DAY 20

Day 20 - Null Object 空物件

空物件模式利用一個沒有實質行為的空物件來統一客戶端程式的操作行為。 生活範例 大家去日本旅遊時曾經注意過日本的販賣機嗎?日本的販賣機非常有趣,有些會用空的包裝來...

2024-10-04 ‧ 由 Evans Wu 分享