iT邦幫忙

design pattern相關文章
共有 512 則文章
鐵人賽 自我挑戰組 DAY 25
設計模式探索 系列 第 25

技術 [Day 25] 狀態模式 (2)

新設計 為了加入這個規則,會發現原本的方法全部都會被改到。那堆if-else都要重新加入新的狀態,可以看看違反了前面提到的哪些規則─ 沒有遵守開放/ 封閉原則,...

鐵人賽 Software Development DAY 16

技術 [Day 16] 讓物件仿佛變成另一個類別 — 狀態模式 (State Pattern)

定義 狀態模式 (State Pattern) 是一種用於實現狀態機的物件導向方法。主要目的是將一個物件的多種狀態封裝在不同的類別中,從而使狀態轉換更為靈活和可...

鐵人賽 自我挑戰組 DAY 4

技術 [Day04] 簡易MVC CRUD實作 - 1 前置作業! (node.js)

前言 這個實作我會用: node.js + express framework mysql (我使用db4free.net來建我的資料庫~) 前置作業 註...

鐵人賽 Software Development DAY 7

技術 [Day 07] 經典比較 — Simple Factory / Factory / Abstract Factory

列表比較 Simple Factory Factory Abstract Factory 定義 單一個 Method 來決定要 Return 哪...

鐵人賽 JavaScript DAY 2

技術 [Day 02] 設計模式簡介

設計模式是什麼 設計模式(design pattern)的概念起源於建築師 Christopher Alexander,他記錄了解決設計問題的經驗,隨後與 S...

鐵人賽 Software Development DAY 19

技術 [Day 19] 模式動物園 — 23種模式的總結及補充

目前我們介紹了 14 種基本設計模式,以及 MVC 複合模式。這邊我們來簡單總結一下 GoF (四人幫) 設計模式中所提到的 23 種設計模式以及簡短定義 此...

鐵人賽 Mobile Development DAY 28

技術 113/28 - 中介者模式(Mediator)- Java

介紹 抱怨一下 當初為什麼要選這個設計模式當最後一組題目呢 從早上十二點寫到早上五點半是不用睡覺了嗎 模式從這三個組成 中介者介面:Mediator 抽象類別...

鐵人賽 Software Development DAY 12

技術 [Day 12] 回顧比較 — Decorator / Adapter / Facade 三種 Design Patterns

目的比較 敘述 目的 Adapter 將一個類別的介面轉換為另一個介面 使原本由於介面不相容而不能一起工作的兩個類別可以一起工作 Decor...

鐵人賽 自我挑戰組 DAY 14
設計模式探索 系列 第 14

技術 [Day 14] 工廠模式 (4)

加入食材工廠 最後要進入抽象工廠模式前,先來設想一個情況─前面對於pizza的製作,是由各pizza factory各自create實例化出來,而現在希望連pi...

鐵人賽 JavaScript DAY 1

技術 [Day 01] 系列文動機與大綱

嗨大家好!我是 Monica,第一天來講講系列文動機與大綱,談談未來的內容規劃。 關於分享主題 一直想嘗試看看鐵人賽,但苦於找不到文章主題,後來想說既然前陣子...

鐵人賽 Software Development DAY 27
前端也想學設計模式 系列 第 27

技術 Day 27 - Method Chaining 方法鏈

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

鐵人賽 Software Development DAY 9

技術 [Day 09] 將方法的呼叫封裝起來 - 命令模式 ( Command Pattern )

命令模式 (Command Pattern) 命令模式 (Command Pattern): 可將請求封裝成物件,讓使用者可以將請求、佇列或紀錄...等物件參...

鐵人賽 Software Development DAY 23

技術 [Day 23] 集中管理大量物件實例 - 蠅量模式 (Flyweight Pattern)

Intent Aims to minimize memory usage or computational expenses by sharing as mu...

鐵人賽 自我挑戰組 DAY 22
設計模式探索 系列 第 22

技術 [Day 22] 轉接器與門面模式 (2)

物件轉接器與類別轉接器 類別轉接器的圖示則如下: 圖 1 所謂的類別轉接器需要用多重繼承來進行實作,可以看到圖中的差別,在於adapter在物件轉接器中,是...

鐵人賽 JavaScript DAY 11

技術 [Day 11] Observer 模式

今天要介紹的是 Observer 模式,這是 Gof 提出的模式之一,屬於行為型設計模式,這也是目前為止我覺得可以延伸最多應用案例的模式~ 情境 在一個應用程...

鐵人賽 自我挑戰組 DAY 15
設計模式探索 系列 第 15

技術 [Day 15] 單例模式 (1)

獨一無二的物件 又來到了新的模式,這次登場的是 「單例模式」 ─當我們希望一個物件永遠只有一個實例時就會派上用場。這個模式非常簡單,可說是非常不燒腦,了解了就可...

鐵人賽 自我挑戰組 DAY 27
設計模式探索 系列 第 27

技術 [Day 27] 樣板方法模式 (1)

來杯飲料吧 接下來我們回過頭看第八章─樣板模式。現在我們來看泡茶與泡咖啡的例子,它們有許多共通點:例如這是泡咖啡的程式: /*程式碼待補*/ 而這是泡茶的程式...

鐵人賽 Software Development DAY 27

技術 [Day 27] 複製複雜已知物件 - 原型模式 (Protorype Pattern)

(待改進...) 簡介 原型模式用於創建對象的複製。這種模式主要用於避免創建對象的成本和資源消耗,特別是當一個對象需要經過時間消耗的初始化過程時 Appli...

鐵人賽 Software Development DAY 24

技術 [Day 24] 以類別來表達文法規則 -解譯器模式 (Interpreter Pattern)

Intent 解譯器模式是一種行為設計模式,主要用於解釋語言的語法和語義。它為解釋語言提供了一個形式化的機制,並且通過建立一個解釋器來解釋語言中的句子...

鐵人賽 自我挑戰組 DAY 11
設計模式探索 系列 第 11

技術 [Day 11] 工廠模式 (1)

前言 今天前進到了第四章─ 工廠模式,這章篇幅較長,在實際運用中也非常常見,值得好好理解,不但可以運用在程式設計上,也常常在溝通時聽到這邊用simple fac...

鐵人賽 自我挑戰組 DAY 28
設計模式探索 系列 第 28

技術 [Day 28] 樣板方法模式 (2)

掛勾 在一個樣板方法中,它的結構大概會長這樣: class AbstractClass { void templateMethod() {...

鐵人賽 Software Development DAY 25

技術 [Day 25] 集中對象間複雜的控制和溝通 — 中介者模式 (Mediator Pattern)

Intent 中介者模式是一種行為設計模式,專門用於減少多個類 (稱為 "Colleagues") 之間的直接耦合。這是通過將這些類之間的...

鐵人賽 Kubernetes DAY 24

技術 [Day 24] Top Kubernetes Design Patterns

接下來幾天,我會深入理解 Kubernetes 的系統設計。 Core Concepts in Kubernetes Pods 是 Kubernetes 中...

鐵人賽 Software Development DAY 10

技術 [Day 10] 物件導向轉接器 - 轉接器模式 (Adapter Pattern)

轉接器模式 (Adapter Pattern) Adapter Pattern 是一種結構型設計模式,旨在允許兩個不相容的接口能夠協同工作 組成:...

鐵人賽 Software Development DAY 3

技術 [Day 03] 把會變的部分封裝 - 策略模式 (Strategy Pattern)

策略模式 (Strategy Pattern) Strategy pattern is a behavioral design pattern that al...

鐵人賽 JavaScript DAY 12

技術 [Day 12] Publish/Subscribe 模式

延續昨天提到的 Observer 模式,今天要介紹的是與 Observer 十分相似的延伸版,即 Publish/Subscribe 模式。GoF 一書中提到...

鐵人賽 Software Development DAY 26

技術 [Day 26] 儲存系統的重要狀態 — 備忘錄模式 (Memento Pattern)

Intent Memento 模式是一種行為設計模式,主要用於捕獲和存儲對象的內部狀態,以便稍後可以將其恢復到這一狀態。這種模式特別有用於實現**「撤銷」操作...

鐵人賽 Software Development DAY 5

技術 [Day 05] 烘焙物件的精華 - 工廠模式 (Factory Pattern)

工廠模式 (Factory Pattern) In Factory pattern, we create object without exposing the...

鐵人賽 自我挑戰組 DAY 26
設計模式探索 系列 第 26

技術 [Day 26] 狀態模式 (3)

狀態模式優點 套用了狀態模式的糖果機程式,功能跟一開始的寫法相同,卻大幅增加了可維護性,因為它移除了那些複雜的if-else判斷,也可以維持封裝的特性─ 讓既有...

鐵人賽 自我挑戰組 DAY 10
設計模式探索 系列 第 10

技術 [Day 10] 裝飾器模式 (2)

裝飾器模式 在咖啡這個案例中,我們不希望由繼承這麼僵化的架構來實作,因此我們使用裝飾器模式。而在裝飾器模式中,我們先打造基底部分,其他配料都在"執行期...