今天要介紹的是 MVC 模式,這和之前介紹的模式有點不同,在 GoF 書中,他們認為沒有將 MVC 稱為設計模式,而是視為一組用來建構 UI 的類別,他們認為...
介紹 橋接模式在 Kotlin 中並沒有語法糖的寫法,所以跟 Java 的寫法差不多 假如有兩個抽象類別會員和支付 會員(Member) 金會員(Gold)...
介紹 讀完後的理解,橋接模式是把兩個抽象類別橋接起來,這樣就可以避免一直繼承 假如有兩個抽象類別會員和支付 會員(Member) 金會員(Gold) 銀會員...
今天要介紹的是 Proxy 模式,這也是 GoF 在書中提及的設計模式之一,屬於結構型的設計模式,不過《JavaScript 設計模式學習手冊 第二版》這本書...
建造者模式藉由將物件的建構流程和目標對象分離,讓物件的建構過程更有彈性。 生活案例 一間汽車製造工廠生產著各式各樣的的汽車,每款汽車都由不同的零件組成,例如引擎...
介紹 Kotlin 版的裝飾模式跟 Java 版差別在可以用by這樣就能用委託的方式來實作 裝飾模式實作 建立粉絲介面 interface Fans {...
今天要介紹的是 Command 模式,這是 GoF 定義的行為型模式之一。 情境 開發複雜應用程式時,開發者會需要一個靈活的架構來處理各種操作或功能,這些操作...
原型模式通過讓物件提供複製方法,讓使用者能夠輕鬆複製物件。 生活案例 假設你是世界名畫「蒙娜麗莎的微笑」的收藏家。你經常收到美術館的來信,邀請展出這幅畫作。由於...
介紹 裝飾模式讀完後,最好的理解就是稱號的概念 例如我們有個會員系統 一開始加入時給的稱號是夥伴 會員花一千就會拿到很油稱號,變成很油夥伴 會員再花一萬就...
轉接器模式允許你在不修改現有程式碼的情況下轉換類別的介面,讓原本互不相容的兩個類別合作無間。 生活案例 出國旅遊時,當地的插座和電壓常常與台灣不同,因此經常需要...
今天要介紹的是 Mediator 模式,屬於 GoF 定義的行為型模式之一。 情境 在複雜的前端應用程式中,當模組或元件逐漸增加,各元件間的互動會變得更複雜,...
介紹 Kotlin 沒有內建轉接器模式,所以沒有很甜的寫法 情境就跟昨天一樣,假如我有兩個會員系統 家樂福會員:有會員等級功能 全家會員:有會員年齡功能 今...
延續昨天提到的 Observer 模式,今天要介紹的是與 Observer 十分相似的延伸版,即 Publish/Subscribe 模式。GoF 一書中提到...
表象模式將複雜的系統包裝成簡單的介面,使系統更容易使用。 生活案例 身為一個出遊靠朋友、吃飯跟著走的超級懶人,安排旅行是一件極為痛苦的事。比起花時間找景點,我更...
介紹 轉接器模式在 Android 開發一定會知道,因為做列表一定會用到,但有其他的情況下會用到 Adapter 嗎? 假如我有兩個會員系統 家樂福會員:有會...
介紹 昨天太趕,跟本沒時間好好理解 合成模式由三個部件組成 Component:抽象層,提供介面定義行為 Composite:樹支,擁有樹葉 Leaf:樹葉,...
今天要介紹的是 Observer 模式,這是 Gof 提出的模式之一,屬於行為型設計模式,這也是目前為止我覺得可以延伸最多應用案例的模式~ 情境 在一個應用程...
命令模式將請求的行為封裝成物件,發送請求的物件只需要依賴於命令介面而不需要知道背後的實作細節。 生活案例 想像你在得來速點餐,櫃檯人員透過點餐機記下餐點,點餐機...
為什麼需要模組化結構? 這個話題我跟 AI 討論很久,就老實跟大家說吧,文章順序考慮很久,砍了又改、改了又砍。那麼,還是先把架構講清楚吧! 首先,我不想這變成一...
今天要介紹的是 Flyweight 模式,這也是 GoF 提出的模式之一。 情境 當開發者正在開發應用程式時,發現需要建立大量物件,例如大量視覺元素物件、ic...
單例模式可以建立一個獨一無二的類別實例,並讓整個應用程式存取內部的狀態和資源。 生活案例 現在很多網站都提供深色模式,來符合使用者的視覺習慣。通常這樣的設定只會...
今天要介紹的是 Decorator 模式,這也是 GoF 提出的模式之一。 情境 在軟體開發時,有時會遇到一個類別需要在執行階段時增加額外的功能,但同時又希望...
我們在第五天的時候分享過工廠方法模式,今天的主題是它的進階版——抽象工廠模式。工廠方法模式每次只生成一種產品,而抽象工廠則用來生成整個產品家族。 生活案例 在日...
介紹 昨天寫 Java 的原型模式,寫了一堆 Clone 相關的程式碼,結果今天才知道 Kotlin 在 data class 已經內建 copy 語法,又又又...
今天要介紹的是 Facade 模式,這也是 GoF 提出的模式之一。 情境 在軟體開發中,隨著時間推移系統會變得越來越複雜,系統內會包含多層次的模組或子系統/...
裝飾者模式可以讓你在不改變原有物件的情況下,動態地為物件新增行為或功能。 生活案例 想像你點了一杯咖啡,這就是一個基本物件。你可以在咖啡上加一些配料,像是鮮奶油...
介紹 之前沒用過這個模式,目前的理解是相似的物件就不用一直 new,感覺很方便 原型模式實作 跟前幾篇一樣先建立會員類別 public class Memb...
今天要介紹的是 Factory 模式,也是 GoF 提及的模式之一。 情境 在軟體開發時,有時需要建立物件,但建立物件的過程可能非常複雜或需要大量配置,需要在...
觀察者模式讓物件可以被動地接收訊息,而不需要主動追蹤主題的變化。 生活案例 大家平時有收聽 Podcast 的習慣嗎?我時常在捷運上聽 Podcast,聽聽主持...
介紹 創造者模式在 Kotlin 都已經內建好,但是和單例模式不同的地方是 Kotlin 的創造者模式是能直接用的,就是舒服 創造者模式實作 建立 data...