今天開始要介紹 Structural patterns。先前的 Creational patterns 著重在如何根據不同的問題建立一個新的物件,而 Struc...
販賣機 相信大家在外面都有用過飲料販賣機, 假設有一台小王牌飲料販賣機, 販賣機上只有一個販賣按鈕, 一個顯示液晶螢幕, 一個投幣孔, 一個退幣洞和一個出貨洞....
2023/04/05 更新: 為了避免本文章散落在不同網站,之後統一由部落格更新,再麻煩從部落格查看~ 什麼是 Facade Pattern? 實作不依賴...
今天要談到的觀察者模式也是很常見的一個模式,常出現在有兩個以上需要互相溝通的物件之間 問題 假設有個物件 A 想要獲得物件 B 的更新資訊,但實際上 A 不知道...
Strategy是屬於Behavioral Patterns的其中一種,我個人覺得這個模式非常好用,今天就帶給大家認識認識! 問題情境與解析 假設有個...
嗨 大家好 我是一路爬坡的阿肥 今天天氣好到 不像是颱風剛過一樣 希望下禮拜的雙十連假也能像今天這樣晴朗啊(懇求) 情境描述 老肥是販賣遊戲的經銷商。因為今年...
嗨 大家好 我是一路爬坡的阿肥 如果看到這篇,表示阿肥撐過了第一個禮拜 也就是一個月的 1/4,168 個小時,10080 分,604800 秒!接下來也要繼續...
一看到Builder就知道它是屬於Creational Pattern,那它可以用來解決什麼問題呢?現在就來認識一下Builder這個模式吧! 問題情境與...
前情提要:Day1. 前言(動機與簡介) 動機 重新整理在blog中的相關內容。 與大家討論學習。 時間回到三個月前 那時剛開始用hexo玩部落格...
2023/04/05 更新: 為了避免本文章散落在不同網站,之後統一由部落格更新,再麻煩從部落格查看~ 什麼是 Strategy Pattern? 設計相...
一講到Flyweight,它最主要工作就是要減少記憶體的使用量,至於要怎麼做來能達到這樣的效果呢?現在就讓我們藝起來了解吧! 問題情境與解析 大家在使...
本篇同步發布於個人Blog: [PoEAA] Domain Logic Pattern - Table Module 1. What is Table Modu...
筆者在最近幾個月陸續看了一些與設計模式、軟體重構有關的書籍: 設計重構 The Uber Go Style Guide Hey! Go Design P...
本文同步更新於blog 前情提要:鐵路運輸系統,參考範例:運輸系統(簡單工廠模式) <?php namespace App\FactoryPa...
嗨 大家好 我是一路爬坡的阿肥 最近天氣的關係加上拼命寫文章 睡眠品質好到一直爬不起來(眼神死) 羨慕一天只需要睡3小時就精神飽滿的人 今日文章適合搭配範例專...
今天要介紹的Decorator Pattern,跟昨天的Composite Pattern都是屬於Structural Pattern,你可能會發現它們的C...
今天要介紹的模式Mediator,與上一篇Facade的結構有點雷同,不過Mediator是屬於行為型模式,作用不太一樣,現在就來了解Mediator在做甚...
本文同步更新於blog Adapter Pattern 將一個類的接口,轉換成客戶期望的另一個接口。 轉接頭讓原本接口不兼容的類可以合作無間。 轉接頭模式...
2023/04/05 更新: 為了避免本文章散落在不同網站,之後統一由部落格更新,再麻煩從部落格查看~ 什麼是 Iterator Pattern? 將不同...
本文同步更新於blog 情境:讓我們用Line群組,來實作觀察者模式 首先實作抽象的觀察者類別 (Observer) 其中會有接收到主題類別通知時...
當一個請求 (request) 進入系統之後,通常我們就會立即的處理它。但如果我們不想這麼直接的去處理這些請求,而是先讓這些需求排隊、依序進入,甚至做一些預先處...
本文同步更新於blog Factory Method Pattern 簡單工廠的延伸,不再提供統一的工廠類來建立所有物件,而是將Factory類別抽象化,針...
本文同步更新於blog Facade Pattern 提供一個統一的接口,用來訪問子系統中的一群接口。 外觀模式定義了一個高層接口,讓子系統更容易使用。...
嗨 大家好 我是一路爬坡的阿肥 今天上班 發現好多人沒來 今年的最後一個連假 終於要來啦! 情境描述 不管是上班族還是學生,除了關心國定假日放哪幾天、接下來有...
今天開始進入到 Behavioral design patterns,這一類的模式著重於物件之間的溝通與責任分配,就讓我們接下去一起看看吧 Chain of R...
嗨 大家好 我是一路爬坡的阿肥 阿肥在想好今天的標題後... 突然超級嘴饞想吃一蘭決定鐵人賽結束後去吃一波! 情境描述 肥肥是個標準的哈日族,每年一定會去日本...
本文同步發佈於blog 情境:以下是某才藝表演 <?php namespace App\AdapterPattern\TalentShow;...
今天要認識的Abstract Factory與Factory Method很像,算是Factory Method強化版,現在就讓我們來了解它們之間的差異吧!...
前幾天介紹的都是屬於Creational Patter,今天要來介紹最後一個位,也就是Prototype! 問題情境與解析 假設今天有個複雜的物件,你...
延續上一篇文章的例子,我們除了想要訓練出 baseball player 之外,也希望他能夠同時擁有一些裝備,像是合適的棒球衣以及棒球鞋。 所以這裡我們在 Ba...