iT邦幫忙

設計模式相關文章
共有 259 則文章

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

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

技術 [深入淺出設計模式] Ch9 The iterator and composite patterns (2) - 範例 整合餐廳菜單

上篇講完這個範例的需求,簡單來說我們現在要寫一個通用的介面Iterator,讓Waiter可以方便取得不同資料型態儲存資料的餐廳菜單資訊,用統一的方式去迭代資料...

技術 [深入淺出設計模式] Ch9 The iterator and composite patterns (1) - 迭代器模式和組合模式

書中給了一個好懂的範例,假設我們所在的小鎮有兩間有名的餐廳,Pancake House 跟 Diner。突然有個機會要開一間快閃店,要提供以上兩餐廳的食物分別作...

技術 [深入淺出設計模式] Ch8 The Template Method Pattern (2) - 模板模式 範例 動物排序

上篇解釋完模板模式手癢還是把書中另一個排序的範例寫了一下哈哈假設今天有不同的動物類別共同點是他們都有某種數值可以排序我們就可以繼續用模板模式啦~ 首先定義了一個...

技術 [深入淺出設計模式] Ch8 The Template Method Pattern (1) - 模板模式 範例 製作飲料

太久沒寫c++了 來找一下手感所以這次是c++的範例喔~ 這是書中的範例喔,假設今天我們要來寫製作飲品的食譜,分別有茶跟飲料兩種類別 (先省略方法細節): cl...

技術 [深入淺出設計模式] Ch7 The Adapter Pattern (7) - 【迪米特法則】範例 超市結帳

沒想到從完賽後荒廢了這麼久XD想說再往下一章看之前 先複習一下前面的觀念順便實作上篇提到的迪米特法則看看⋯⋯假設今天要設計一個簡單的超市結帳系統會需要類別 It...

鐵人賽 自我挑戰組 DAY 24

技術 [Day24] Design Pattern - Memento備忘錄模式

定義 Memento is a behavioral design pattern that lets you save and restore the p...

鐵人賽 自我挑戰組 DAY 22

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

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

鐵人賽 自我挑戰組 DAY 21

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

範例 Home Automation Remote Control 家電智能遙控 還記得我們在觀察者模式的時候,書中讓我們接了一個寫天氣監測系統的「案子」,當...

鐵人賽 自我挑戰組 DAY 20

技術 [深入淺出設計模式] Ch6 The Command Pattern (1) - 【命令模式】概念講解

命令模式 The Command Pattern 主要概念是將請求或操作封裝成對象,以便在不同的情境下執行這些請求,同時使得我們能夠解耦發出請求的對象和實際執行...

鐵人賽 自我挑戰組 DAY 19

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

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

鐵人賽 自我挑戰組 DAY 18

技術 [Day18] Design Pattern - Proxy代理模式

前言 今天上班的時候師父剛好教我設定公司電腦的proxy😶‍🌫️結果很巧的今天就輪到要來寫這篇! 定義 Proxy is a structural d...

鐵人賽 自我挑戰組 DAY 17

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

Singleton Pattern 單例模式 在特定情況下,我們會希望某一些類別的物件只有一個,通常會用global variable 讓它是靜態變數。(例如設...

鐵人賽 自我挑戰組 DAY 17

技術 [Day17] Design Pattern - Flyweight 享元模式

前言 今天師父請假在公司自立自強然後主管為我上了堂有趣的產品課😊我還在喜歡上班的階段 好好珍惜😚 定義 Flyweight is a structura...

鐵人賽 自我挑戰組 DAY 16

技術 [Day16] Design Pattern - Facade 外觀模式

定義 Facade is a structural design pattern that provides a simplified interface...

鐵人賽 自我挑戰組 DAY 16

技術 [深入淺出設計模式] Ch4 The Factory Pattern (6) - 【設計原則複習】

目前為止書中提過的設計原則 有鑒於本人的金魚腦,讀到現在已經快要忘記書中提過的設計原則,所以來幫自己恢復一下記憶~ Encapsulate what var...

鐵人賽 自我挑戰組 DAY 15

技術 [深入淺出設計模式] Ch4 The Factory Pattern (5) - 【抽象工廠模式】Abstract Factory Pattern 與工廠方法模式差在哪裡?

抽象工廠模式 Abstract Factory Pattern 跟工廠方法模式一樣,都會把製造方法放在工廠中,跟客戶端分離。 每個工廠會對同一個食材介面...

鐵人賽 自我挑戰組 DAY 14

技術 [Day14] Design Pattern - Composite組合模式

前言 中秋快樂!! 定義 Composite is a structural design pattern that lets you compose...

鐵人賽 自我挑戰組 DAY 14

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

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

鐵人賽 自我挑戰組 DAY 13

技術 [Day13] Design Pattern - Bridge橋接模式

前言 今天最感動的是我實習的training終於完成了~~🥳這也代表我要開始碰到正式專案了😶‍🌫️ 定義 Bridge is a structural...

鐵人賽 Modern Web DAY 18

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

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

鐵人賽 自我挑戰組 DAY 10

技術 [深入淺出設計模式] 聊一聊目前為止設計模式改變了我什麼?

最近剛接到人生中第一個案子,好像有點不夠認真寫這邊的文章🥲,但對於密集的學習設計模式有蠻多心得和感動想要分享,絕對不是因為我的案子今天審查所以我沒時間看書。(哭...

鐵人賽 自我挑戰組 DAY 8

技術 [Day08] Design Pattern - Abstract Factory抽象工廠模式

前言 今天來說一個跟昨天的工廠方法模式有點像的...Abstract Factory~抽象工廠模式!! 看這篇前建議先去看前一天的工廠方法模式歐~~點我去Day...

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

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

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

鐵人賽 自我挑戰組 DAY 7

技術 [Day07] Design Pattern - Factory Method工廠方法模式

前言 今天去拔智齒🥲咬紗布咬了好久還要歪著頭吃粥XD雖然臉頰在發熱但是鐵人還是要繼續!! 今天要講工廠模式了~前三天好像花了有點多時間在實作MVC上,懊惱過...

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

技術 Day 15 程式架構 - 結構型設計模式 (知識點076~079)

思考的問題 如何通過組合多的不同的類別與物件,完成複雜的需求? 當有複雜的需求時,有甚麼方法可以組合這些類別呢?常見的方式包含:外觀模式、轉接器模式、裝飾者模式...

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

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

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