iT邦幫忙

設計模式相關文章
共有 258 則文章
鐵人賽 Software Development DAY 25

技術 Day25. 範例:會員制(狀態模式)

本文同步更新於blog 情境:平台有三種身份,分別是訪客 (guest)、會員 (member)及付費會員(premium) 訪客藉由註冊 (regi...

鐵人賽 Software Development DAY 27

技術 【PHP 設計模式大頭菜】規格模式 Specification Pattern

規格模式 Specification Pattern 規格模式,將邏輯條件給抽離出來,獨立成一個模組,而不是在物件內透過邏輯判斷來撰寫複雜的程式碼,簡化物件所...

鐵人賽 Software Development DAY 24

技術 Day24. 狀態模式

本文同步更新於blog State Pattern 允許對象在內部狀態改變時,改變它的行為,對象看起來好像修改了它的類。 狀態模式會將類別分為兩類:分別是...

鐵人賽 Software Development DAY 26

技術 【PHP 設計模式大頭菜】觀察者模式 Observer Pattern

觀察者模式 Observer Pattern 觀察者模式,一種現在全中國都知道你來了的模式,就有點像是收音機,打開收音機就開始自動接收廣播,關掉收音機就停止接...

鐵人賽 Software Development DAY 23

技術 Day23. 範例:自助餐餐廳 (外觀模式)

本文同步更新於blog 情境:以下是某自助餐餐廳的情況 自助式霜淇淋機 <?php namespace App\FacadePattern\...

鐵人賽 Software Development DAY 25

技術 【PHP 設計模式大頭菜】空物件模式 Null Object Pattern

空物件模式 Null Object Pattern 空物件模式,一種以非 Null 的空白物件去取代 Null 的模式,其空白物件並不是拿來比對資料是否為 N...

鐵人賽 Software Development DAY 22

技術 Day22. 外觀模式

本文同步更新於blog Facade Pattern 提供一個統一的接口,用來訪問子系統中的一群接口。 外觀模式定義了一個高層接口,讓子系統更容易使用。...

鐵人賽 Software Development DAY 24

技術 【PHP 設計模式大頭菜】備忘錄模式 Memento Pattern

備忘錄模式 Memento Pattern 備忘錄模式,在不破壞封裝物件的前提之下,提供物件一個「皇后殺手 第三爆彈:敗者成塵」的能力,物件在極度絕望的狀態下...

鐵人賽 Software Development DAY 21

技術 Day21. 範例:運輸系統(工廠方法模式)

本文同步更新於blog 前情提要:鐵路運輸系統,參考範例:運輸系統(簡單工廠模式) <?php namespace App\FactoryPa...

鐵人賽 Software Development DAY 23

技術 【PHP 設計模式大頭菜】中介者模式 Mediator Pattern

中介者模式 Mediator Pattern 中介者模式,在兩個不同的封裝物件之間,作為中間進行交互的模式,可以減少物件之間的依賴關係,並且降低耦合性問題,舉...

鐵人賽 Software Development DAY 20

技術 Day20. 工廠方法模式

本文同步更新於blog Factory Method Pattern 簡單工廠的延伸,不再提供統一的工廠類來建立所有物件,而是將Factory類別抽象化,針...

鐵人賽 Software Development DAY 22

技術 【PHP 設計模式大頭菜】疊代器模式 Iterator Pattern

疊代器模式 Iterator Pattern 疊代器模式,提供一種方法來簡單控制一個集合物件,這段過程並不會暴露該物件的來源或修改它,就有點像是你的背包(Ba...

鐵人賽 Software Development DAY 19

技術 Day19. 範例:才藝表演(轉接頭模式)

本文同步發佈於blog 情境:以下是某才藝表演 <?php namespace App\AdapterPattern\TalentShow;...

鐵人賽 Software Development DAY 21

技術 【PHP 設計模式大頭菜】命令模式 Command Pattern

命令模式 Command Pattern 命令模式,是一種將行為封裝起來裹上美好糖衣的一種模式,並將接收與執行分離出來,就有點像是把大頭菜買賣這件事,如果把買...

鐵人賽 Software Development DAY 18

技術 Day18. 轉接頭模式

本文同步更新於blog Adapter Pattern 將一個類的接口,轉換成客戶期望的另一個接口。 轉接頭讓原本接口不兼容的類可以合作無間。 轉接頭模式...

鐵人賽 Software Development DAY 20

技術 【PHP 設計模式大頭菜】責任鏈模式 Chain of Responsibilities

責任鏈模式 Chain of Responsibilities 責任鏈模式,有一系列的命令物件及處理物件,常見於需要被連續處理的地方上,舉例來說,假設今天收購...

鐵人賽 Software Development DAY 19

技術 【PHP 設計模式大頭菜】註冊模式 Registry Pattern

註冊模式 Registry Pattern 註冊模式,如果應用程式內有非常多同樣的物件需要高度重複讀寫,就會去建立一個儲存器來負責管理這些同樣的物件,就有點像...

鐵人賽 Software Development DAY 17

技術 Day17. 範例:影片製作大師(樣板方法模式)

本文同步更新於blog 情境:以下是某攝影棚的影片製作方式 <?php namespace App\TemplateMethodPattern\...

鐵人賽 Software Development DAY 16

技術 Day16. 樣板方法模式

本文同步更新於blog Template Method Pattern 在一個方法中定義一個算法的骨架,而將一些步驟延遲到子類中。 樣板方法模式會將類別分...

鐵人賽 Software Development DAY 18

技術 【PHP 設計模式大頭菜】代理模式 Proxy Pattern

代理模式 Proxy Pattern 代理模式,它可以作為需要被保護的物件的介面,若以檔案權限來比喻的話,就是對主要物件套上一層代理,你可以在代理上實作控制權...

鐵人賽 Software Development DAY 15

技術 Day15. 範例:機器人廚師(命令模式)

本文同步更新於blog 情境:這是一間牛排館,會根據客戶的訂單出菜 <?php namespace App\CommandPattern\Wes...

鐵人賽 Software Development DAY 17

技術 【PHP 設計模式大頭菜】享元模式 Flyweight Pattern

享元模式 Flyweight Pattern 享元模式,在定義上來說是共享物件,將相似的物件集中整理,減少記憶體上的使用,舉例來說每座島的大頭菜鈴錢價格都不同...

鐵人賽 Modern Web DAY 14

技術 [5-3] 點線面的接口 - 以配接器模式 Adapter Design Pattern 重構

本系列文章已出版實體書籍:「你的地圖會說話?WebGIS 與 JavaScript 的情感交織」(博碩文化)WebGIS啟蒙首選✖五家地圖API✖近百個程式範...

鐵人賽 Software Development DAY 14

技術 Day14. 命令模式

本文同步更新於blog Command Pattern 將請求封裝成對象,以便使用不同的請求來進行參數化。 命令模式也支持隊列、日誌及可撤銷的操作。 命令...

鐵人賽 Software Development DAY 16

技術 【PHP 設計模式大頭菜】流暢介面 Fluent Interface

流暢介面 Fluent Interface 流暢介面,常用於撰寫如同文章般容易閱讀的程式碼,如果以大頭菜來講,那麼在建立大頭菜的同時,希望可以順便賦予其鈴錢價...

鐵人賽 Software Development DAY 13

技術 Day13. 範例:漢堡點餐系統(裝飾者模式)

本文同步更新於blog 需求一:客戶想要一個漢堡點餐系統 <?php namespace App\DecoratorPattern\Burger...

鐵人賽 Software Development DAY 15

技術 【PHP 設計模式大頭菜】外觀模式 Facade Pattern

外觀模式 Facade Pattern 外觀模式,或者稱作門面模式,一種把複雜邏輯給包裝起來的一種模式,舉個例子來說,今天已經不單只是計算大頭菜了,而是你有個...

鐵人賽 Software Development DAY 12

技術 Day12. 裝飾者模式

本文同步更新於blog Decorator Pattern 動態地將責任附加到對象上。 若要擴展功能,裝飾者提供了比繼承更有彈性的替代方案。 裝飾者模式會...

鐵人賽 Software Development DAY 14

技術 【PHP 設計模式大頭菜】依賴注入 Dependency Injection

依賴注入 Dependency Injection 依賴注入模式,是控制反轉(Inversion of Control,縮寫為IoC)的一種實作方式,主要是將...

鐵人賽 Software Development DAY 11

技術 Day11. 範例:收銀機 (策略模式)

本文同步更新於blog 需求一:客戶想要一台收銀機 <?php namespace App\StrategyPattern\CashRegist...