iT邦幫忙

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

技術 [Day 9] 裝飾器模式 (1)

前言 終於進入了第三章─ 裝飾器模式!首先可以稍微回顧一下第一章提到的其中一個原則─ 多用"組合",少用"繼承",這章會...

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

技術 [Day 5] 策略模式 (3)

集大成的UML 經過前幾天的內容,以上都了解後,應該也可以順利地組合出最終UML的樣子了:(參考原書以draw.io繪製)可以看到會變的部分被封裝了起來,其他行...

鐵人賽 Modern Web DAY 18

技術 第十八章、微服務自身的交易與安全的資源操作 - PHP 微服務入門與開發

在微服務架構中,每個微服務都是一個獨立的單元,擁有自己的資料庫和交易管理。由於微服務之間可能需要進行交互操作,因此確保每個微服務的交易安全和資源操作的安全性是非...

鐵人賽 Software Development DAY 14
軟體架構備忘錄 系列 第 14

技術 Day 14 程式架構 - 創建型設計模式 (知識點072~075)

思考的問題 在建立物件時,有各種特殊的需求,有甚麼經典設計模式可以參考? 在設計模式中,定義了許多關於建立物件的經典設計模式,在此處並不會詳細說明如何實作這些設...

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

技術 [Day 4] 策略模式 (2)

第二個原則 接續昨天的問題,我們要來看如何更彈性的設計出這個架構!那要怎麼應用呢?書本提到了第二個原則: 針對"介面"而非"實作...

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

技術 [Day 7] 觀察者模式 (2)

觀察者模式的情境 所謂的觀察者模式,顧名思義,主要就是由兩個角色所組成:觀察者(observer)與被觀察者(subject);也可以用發布者與訂閱者來想像它們...

鐵人賽 Software Development DAY 16
軟體架構備忘錄 系列 第 16

技術 Day 16 程式架構 - 行為型設計模式 (知識點080~084)

想要解決的問題 如何將可能變動的邏輯抽出,讓該邏輯視需求動態抽換? 架構設計中,有許多邏輯都會可能會變動。需要事先辨認那些是可能變動的部分。並抽出這些變動的邏輯...

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

技術 [Day 24] 狀態模式 (1)

糖果機設計 經過轉接器模式後,先快轉進入到第十章─ 狀態模式。本章的舉例是目前有一台糖果機,想要設計一套軟體讓糖果機變成由軟體控制,要求包含在"投入2...

鐵人賽 自我挑戰組 DAY 22

技術 [深入淺出設計模式] Ch6 The Command Pattern (3) - 【命令模式】範例實作 範例 Home Automation Remote Control

命令模式 前面提過命令模式的概念,感覺還是挺抽象的,所以書中有更好懂的譬喻,假設今天我們到一個餐廳用餐,首先我們 Client 點餐時會先看菜單選項 ,決定好再...

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

技術 [Day 29] 樣板方法模式 (3)

實際使用中的樣板方法 書中舉了 Java API 實際使用樣板方法的例子,其中一個是排序的sort()。sort()是一個靜態方法,而要使用這個排序方法,就要求...

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

技術 [Day 18] 命令模式 (2)

建立command物件 首先,來製作我們的訂單介面─ 對照昨天的圖,就是Command,而它必須有orderUp這個方法讓服務生去呼叫,對應到命令模式就是exe...

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

技術 [Day 21] 轉接器與門面模式 (1)

物件導向轉接器 終於又進入新的篇章啦!這個轉接器與門面模式也是極度常見與好用(也頗好理解)的模式。首先轉接器,顧名思義,就是將介面轉換為另一個介面,以滿足用戶端...

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

技術 [Day 13] 工廠模式 (3)

第六個原則 回顧一下一開始大爆炸的製作披薩寫法。如果不管怎樣的pizza,我們都在同一個pizza store裡面的orderpizza判斷各種pizza的口味...

鐵人賽 自我挑戰組 DAY 14

技術 [深入淺出設計模式] Ch4 The Factory Pattern (4) - 【工廠模式】範例: Pizza Store

工廠模式 範例: Pizza Store 上篇我們已經完成工廠跟Pizza的抽象類別,現在來看看子類別要如何實現Pizza(),在這之前要先完成食材的類別(這邊...

鐵人賽 自我挑戰組 DAY 19

技術 [深入淺出設計模式] Ch5 The Singleton Pattern (3) - 【單例模式】範例 Website registration

單例模式 範例 Website registration 網站註冊 假設今天我們要架設一個網站的註冊系統,我們就會希望系統只有一個合法的註冊中心,所有使用者只能...

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

技術 [Day 19] 命令模式 (3)

實作遙控器 昨天實作了簡單遙控器,今天將遙控器的展開至多個按鈕吧!首先遙控器部分,我們把所有的按鈕用兩個陣列儲存在遙控器中,並將setCommand時改成一次設...

技術 B3 中間人架構:從三個繪圖系統看分離關注點的重要性

為什麼需要模組化結構? 這個話題我跟 AI 討論很久,就老實跟大家說吧,文章順序考慮很久,砍了又改、改了又砍。那麼,還是先把架構講清楚吧! 首先,我不想這變成一...

鐵人賽 Modern Web DAY 0

技術 元件化思維:從 jQuery 外掛到現代元件的設計哲學

系列文章: 前端工程師的 Modern Web 實踐之道 - Day 8預計閱讀時間: 10 分鐘難度等級: ⭐⭐⭐☆☆ 🎯 今日目標 在前一篇文章中,我們...