iT邦幫忙

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

技術 Day34. 範例:歌曲排行(迭代器模式)

本文同步更新於blog 需求一:KTV系統要按照新增到系統的時間,由舊到新,實作歌曲排行 定義系統存取歌曲的類別(解析傳進來的data) <?...

鐵人賽 Software Development DAY 16

技術 Day16. 樣板方法模式

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

技術 Day 57. 系列完結心得

嗨,我是Bear。 遵守在Day30時與自己的約定,於年前寫完所有設計模式。稍晚會將目錄更新至Day1。 以下這段話給2019年的自己 讀書會還好玩吧?...

鐵人賽 Software Development DAY 13

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

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

鐵人賽 Software Development DAY 22
玩轉C# 進階學習之旅 系列 第 22

技術 玩轉C#之【SOLID】

介紹 何謂原則(Principle) A principle is a concept or value that is a guide for behavi...

技術 Day52. 範例:新產品開發(職責鏈模式)

本文同步更新於blog 情境:公司開發了一個新產品,客戶端有許多不同的請求 客戶端的請求類別 <?php namespace App\Ch...

技術 Day48. 範例:生物分類學(組合模式)

本文同步更新於blog 情境:原本的生物分類學(界門綱目科屬種) <?php namespace App\CompositePattern\T...

技術 Day45. 解譯器模式

本文同步更新於blog Interpreter Pattern 給定一個語言,定義它的語法表示與文法。 利用不同的表達式來翻譯語言中的句子。 解譯器模式會...

技術 Day31. 單例模式

本文同步更新於blog Singleton Pattern 確保一個類只有一個實例,並提供一個全局訪問點。 單例模式只會將類別分為一類,即單例類別 (Si...

技術 Day32. 範例:資料庫連線(單例模式)

本文同步更新於blog 需求一:客戶想要能與資料庫連線的類別 <?php namespace App\SingletonPattern\DBC...

技術 Day53. 中介者模式

本文同步更新於blog Mediator Pattern 集中相關對象的之間複雜的溝通與控制方式。 中介者模式會將類別分為兩類:分別是中介者類別 (Med...

技術 Day56. 範例:各國婚禮(訪問者模式)

本文同步更新於blog 情境:這是一間國際婚禮公司 <?php namespace App\VisitorPattern\Wedding;...

鐵人賽 自我挑戰組 DAY 3

技術 DAY20: Singleton 模式與 Double-Checked Locking 模式

本篇會介紹 何謂 singleton 模式 用案例來看看如何實踐它 何謂 double-checked locking 模式 又如何實踐它 先簡單的說,這兩...

鐵人賽 Software Development DAY 11

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

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

技術 Day54. 範例:打招呼(中介者模式)

本文同步更新於blog 情境:以下是人腦的運作程式 <?php namespace App\MediatorPattern\SayHello;...

技術 Day47. 組合模式

本文同步更新於blog Composite Pattern 允許將對象組合成樹形結構來表現整體/部分層次結構。 組合能讓客戶以一致的方式處理個別對象以及對象...

技術 Day51. 職責鏈模式

本文同步更新於blog Chain Of Responsibility Pattern 使多個物件都有機會處理請求, 從而避免請求的發送者和接受者間的耦合關...

鐵人賽 自我挑戰組 DAY 2

技術 DAY2: 從物件導向範型談起1

在介紹設計模式前,我們要先花點時間來介紹一下兩種程式設計:功能分解 (functional decomposition) 與 物件導向範型 (object-or...

鐵人賽 自我挑戰組 DAY 3

技術 DAY4: 類別間的關係

在簡單介紹完物件導向之後,我們在簡單地介紹類別間的關係。這對往後程式架構設計以及理解即將提到的設計模式有很大的幫助。 UML 圖 What the heck i...

鐵人賽 Software Development DAY 7

技術 【PHP 設計模式大頭菜】建造者模式 Builder Pattern

建造者模式 Builder Pattern 建造者模式,主要用來建立複雜的物件,就有點像是大頭菜的功能組成,從鈴錢價格、組合數量、現場實價 ... 等等,為了...

鐵人賽 Software Development DAY 3

技術 【PHP 設計模式大頭菜】靜態工廠 Static Factory

靜態工廠 Static Factory 靜態工廠,顧名思義就是希望這整個工廠都是屬於靜態屬性的,無論到哪裡都以靜態方法來使用這個工廠,就像是在星期日的早上時,...

鐵人賽 Modern Web DAY 14

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

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

鐵人賽 Software Development DAY 5

技術 【PHP 設計模式大頭菜】工廠方法 Factory Method

工廠方法 Factory Method 工廠方法,跟抽象工廠有點像,可是又沒那麼像,抽象工廠的工廠會有個抽象類別,並且把工廠要做且會重工的事情寫在抽象類別當中...

鐵人賽 Software Development DAY 27

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

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

鐵人賽 Software Development DAY 10

技術 Day10. 策略模式

本文同步更新於blog Strategy Pattern 定義算法族,分別封裝,讓彼此之間能互相替換,使算法變化獨立。 策略模式只會將類別分為一類,即算法...

鐵人賽 Software Development DAY 9

技術 【PHP 設計模式大頭菜】轉接器模式 Adapter Pattern

轉接器模式 Adapter Pattern 轉接器模式,顧名思義會在兩個同功能但不同的規格的東西中,當作中間溝通的橋樑,就有點像是健康的大頭菜因為放超過一個禮...

鐵人賽 Software Development DAY 24

技術 Day24. 狀態模式

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

鐵人賽 自我挑戰組 DAY 3

技術 DAY9: 共通性與可變性分析;敏捷程式設計

本篇接著談論 Chapter 8 的後半部分,我將談到兩個主題: 共通性與可變性分析 敏捷開發與設計模式 今天的內容會比較輕鬆,偏概念性。Here we g...

鐵人賽 Software Development DAY 12

技術 Day12. 裝飾者模式

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

技術 Day55. 訪問者模式

本文同步更新於blog Visitor Pattern 允許在不改變組合內各元素的情況下,增加各元素的新操作。。 訪問者模式會將類別分為兩類:分別是訪問者...