iT邦幫忙

鐵人檔案

2024 iThome 鐵人賽
回列表
Software Development

前端也想學設計模式 系列

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

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

Day 21 - Proxy 代理

代理模式透過包裝物件來管理外部對物件的操作行為。 生活案例 每名偶像都有一位經紀人,負責管理其工作行程。廠商會透過經紀人洽談合作機會,並透過經紀人取得回覆。廠商...

2024-10-05 ‧ 由 Evans Wu 分享
DAY 22

Day 22 - Mediator 中介者

中介者模式透過獨立的物件來協調物件之間的互動行為,避免它們相互依賴。 生活範例 想像你在一間公司,各部門都透過專案管理組來進行溝通。每當某個部門有需求時,都會聯...

2024-10-06 ‧ 由 Evans Wu 分享
DAY 23

Day 23 - Flyweight 享元

享元模式透過重複使用物件來減少資料量並節省記憶體。 生活範例 圖書館有很多藏書,同一本書可能有多本館藏,以滿足讀者需求。假設每次購書都要將書本的基本資料輸入圖書...

2024-10-07 ‧ 由 Evans Wu 分享
DAY 24

Day 24 - Bridge 橋接

橋接模式通過將物件的抽象部分與實現部分分離,使系統更具彈性。 生活範例 隨著行動支付方式日益多樣化,想像一間行動支付整合商的服務,支援像 Apple Pay、L...

2024-10-08 ‧ 由 Evans Wu 分享
DAY 25

Day 25 - State 狀態

狀態模式使用狀態物件來表示物件在不同狀態下的行為,並通過改變狀態物件來改變行為。 生活範例 街道中的紅綠燈非常適合用來說明狀態模式的概念。紅綠燈有三種狀態:紅燈...

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

Day 26 - Memento 備忘錄

備忘錄模式能讓物件在不破壞封裝的情況下儲存與回復狀態。 生活範例 備忘錄模式的一個經典應用場景是歷史紀錄。這類紀錄在我們的日常生活中隨處可見,例如 Word、P...

2024-10-10 ‧ 由 Evans Wu 分享
DAY 27

Day 27 - Method Chaining 方法鏈

方法鏈可以透過一連串的方法呼叫來取得計算結果,而無需將中間結果存為變數。 生活範例 想像草莓果醬的生產線,上面包含幾個主要關卡:清洗、烹煮和裝瓶,經過一步步的處...

2024-10-11 ‧ 由 Evans Wu 分享
DAY 28

Day 28 - Interpreter 解釋器

解釋器模式可以透過簡單語言來執行常見任務。 生活範例 一份樂譜記載著一段旋律,譜上的音符代表著音高,休止符代表著暫停,音節的長短則由不同的符號來表示。樂譜上的符...

2024-10-12 ‧ 由 Evans Wu 分享
DAY 29

Day 29 - Visitor 訪問者

訪問者模式允許在不修改物件類別的情況下,對物件集合中的元素施加新的操作。 生活範例 麥當勞的餐點有很多種點法,比如說一個麥香雞漢堡,可以單點、搭配薯條和可樂做成...

2024-10-13 ‧ 由 Evans Wu 分享
DAY 30

Day 30 - 結語

持續一個月的努力,終於來到了鐵人賽的最後一天。我大約在兩個月前萌生了參加鐵人賽的念頭,但當時其實猶豫了很久,一方面是擔心無法兼顧工作與寫作,另一方面也怕無法產出...

2024-10-14 ‧ 由 Evans Wu 分享