新設計 為了加入這個規則,會發現原本的方法全部都會被改到。那堆if-else都要重新加入新的狀態,可以看看違反了前面提到的哪些規則─ 沒有遵守開放/ 封閉原則,...
定義 狀態模式 (State Pattern) 是一種用於實現狀態機的物件導向方法。主要目的是將一個物件的多種狀態封裝在不同的類別中,從而使狀態轉換更為靈活和可...
前言 這個實作我會用: node.js + express framework mysql (我使用db4free.net來建我的資料庫~) 前置作業 註...
列表比較 Simple Factory Factory Abstract Factory 定義 單一個 Method 來決定要 Return 哪...
設計模式是什麼 設計模式(design pattern)的概念起源於建築師 Christopher Alexander,他記錄了解決設計問題的經驗,隨後與 S...
目前我們介紹了 14 種基本設計模式,以及 MVC 複合模式。這邊我們來簡單總結一下 GoF (四人幫) 設計模式中所提到的 23 種設計模式以及簡短定義 此...
介紹 抱怨一下 當初為什麼要選這個設計模式當最後一組題目呢 從早上十二點寫到早上五點半是不用睡覺了嗎 模式從這三個組成 中介者介面:Mediator 抽象類別...
目的比較 敘述 目的 Adapter 將一個類別的介面轉換為另一個介面 使原本由於介面不相容而不能一起工作的兩個類別可以一起工作 Decor...
加入食材工廠 最後要進入抽象工廠模式前,先來設想一個情況─前面對於pizza的製作,是由各pizza factory各自create實例化出來,而現在希望連pi...
嗨大家好!我是 Monica,第一天來講講系列文動機與大綱,談談未來的內容規劃。 關於分享主題 一直想嘗試看看鐵人賽,但苦於找不到文章主題,後來想說既然前陣子...
方法鏈可以透過一連串的方法呼叫來取得計算結果,而無需將中間結果存為變數。 生活範例 想像草莓果醬的生產線,上面包含幾個主要關卡:清洗、烹煮和裝瓶,經過一步步的處...
命令模式 (Command Pattern) 命令模式 (Command Pattern): 可將請求封裝成物件,讓使用者可以將請求、佇列或紀錄...等物件參...
Intent Aims to minimize memory usage or computational expenses by sharing as mu...
物件轉接器與類別轉接器 類別轉接器的圖示則如下: 圖 1 所謂的類別轉接器需要用多重繼承來進行實作,可以看到圖中的差別,在於adapter在物件轉接器中,是...
今天要介紹的是 Observer 模式,這是 Gof 提出的模式之一,屬於行為型設計模式,這也是目前為止我覺得可以延伸最多應用案例的模式~ 情境 在一個應用程...
獨一無二的物件 又來到了新的模式,這次登場的是 「單例模式」 ─當我們希望一個物件永遠只有一個實例時就會派上用場。這個模式非常簡單,可說是非常不燒腦,了解了就可...
來杯飲料吧 接下來我們回過頭看第八章─樣板模式。現在我們來看泡茶與泡咖啡的例子,它們有許多共通點:例如這是泡咖啡的程式: /*程式碼待補*/ 而這是泡茶的程式...
(待改進...) 簡介 原型模式用於創建對象的複製。這種模式主要用於避免創建對象的成本和資源消耗,特別是當一個對象需要經過時間消耗的初始化過程時 Appli...
Intent 解譯器模式是一種行為設計模式,主要用於解釋語言的語法和語義。它為解釋語言提供了一個形式化的機制,並且通過建立一個解釋器來解釋語言中的句子...
前言 今天前進到了第四章─ 工廠模式,這章篇幅較長,在實際運用中也非常常見,值得好好理解,不但可以運用在程式設計上,也常常在溝通時聽到這邊用simple fac...
掛勾 在一個樣板方法中,它的結構大概會長這樣: class AbstractClass { void templateMethod() {...
Intent 中介者模式是一種行為設計模式,專門用於減少多個類 (稱為 "Colleagues") 之間的直接耦合。這是通過將這些類之間的...
接下來幾天,我會深入理解 Kubernetes 的系統設計。 Core Concepts in Kubernetes Pods 是 Kubernetes 中...
轉接器模式 (Adapter Pattern) Adapter Pattern 是一種結構型設計模式,旨在允許兩個不相容的接口能夠協同工作 組成:...
策略模式 (Strategy Pattern) Strategy pattern is a behavioral design pattern that al...
延續昨天提到的 Observer 模式,今天要介紹的是與 Observer 十分相似的延伸版,即 Publish/Subscribe 模式。GoF 一書中提到...
Intent Memento 模式是一種行為設計模式,主要用於捕獲和存儲對象的內部狀態,以便稍後可以將其恢復到這一狀態。這種模式特別有用於實現**「撤銷」操作...
工廠模式 (Factory Pattern) In Factory pattern, we create object without exposing the...
狀態模式優點 套用了狀態模式的糖果機程式,功能跟一開始的寫法相同,卻大幅增加了可維護性,因為它移除了那些複雜的if-else判斷,也可以維持封裝的特性─ 讓既有...
裝飾器模式 在咖啡這個案例中,我們不希望由繼承這麼僵化的架構來實作,因此我們使用裝飾器模式。而在裝飾器模式中,我們先打造基底部分,其他配料都在"執行期...