js設計模式

javaScript設計模式 : Visitor(訪問者模式)

想像你有一棵資料樹:節點長相固定,但你老闆今天要匯出 CSV,明天要轉 Markdown,後天又想跑稽核規則。 硬把所有動作塞回節點,不但醜,還會越改越黏。Visitor 的做法就聰明很多:把「要做什麼」獨立成訪問者,讓每個節點只做一件事——被拜訪。 於是…

javaScript設計模式 : Template Method (模板方法)

如果你常在專案裡複寫一段流程:先驗證、再轉換、最後儲存,然後只因格式或來源不同就開一個新檔案,那其實已經踩在 Template Method 的領地上。 這個模式強調「先定流程,再換細節」:父類掌握節奏與不變條件,子類只補上該做的功課。好處是可讀、可測、好擴充;壞處是抽象過…

javaScript設計模式 : Strategy(策略模式)

專案一長大,規則就越來越多。折扣怎麼算?列表要怎麼排?金流費率怎麼換?如果你腦中浮現一排 if/else,那這篇剛好救你。 策略(Strategy)模式做的事很單純:把「做法」獨立成可替換的策略,呼叫端只要用同一套介面就能切換。 你可以從最常見的折扣、排序開始,把…

javaScript設計模式 : State(狀態模式)

專案做到一半,需求突然加了「新流程」或「例外規則」,你把檔案打開,滿眼都是 if/else、switch,你也知道該整理,卻不敢動,因為一改就爆。其實你遇到的不是技術力不足,而是少了能「安置變化」的結構。 狀態模式(State Pattern)做的事很單純:把「行為…

javaScript設計模式 : Observer( 觀察者 )

如果你也常被「狀態改了要通知誰」這題追著跑,別急著塞更多 if/else。把思路換成 Observer:有人變動,就廣播一聲;誰在意,誰自己訂閱。 這樣模組之間不需要彼此認識,換元件、拆頁面也不會牽一髮動全身。本文用 JavaScript 從零寫出可訂閱、可…

載入更多文章
找不到相符的結果