iT邦幫忙

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

技術 [Design Pattern] Bridge 橋樑模式

今天的主題是** Bridge Pattern 橋樑模式**,它的目的是當隨著開發的 feature 增加,類別的數量也跟著急遽增加的時候,解決類別數量過多的問...

鐵人賽 開發技術 DAY 2
PHP設計模式學習紀錄 系列 第 2

技術 Day2: PHP設計模式學習手冊 第一章 心得

*設計模式是:為了解決特定環境經常發生的問題而設計的概括性解決方案。 非程式庫或範本,是一般性的問題處理結構。 讓物件間具備鬆耦合關係,改程式不用擔心牽一髮動...

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

技術 玩轉C#之【SOLID】

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

技術 Day40. 範例:假期規劃 (建造者模式)

本文同步更新於blog 情境:目前提供旅遊行程的方式 <?php namespace App\BuilderPattern\Vacation;...

鐵人賽 Software Development DAY 1

技術 Day1. 前言(動機與簡介)

前言 大家好,我是Bear,目前是名PHP工程師。寫文章的當下,著迷於Clean Code、Design Pattern跟Testing。 最近在研究自己寫co...

技術 Day44. 範例:文字積木 (蠅量模式)

本文同步更新於blog 情境:這是公司生產的文字積木 <?php namespace App\Flyweight\Blocks; class...

鐵人賽 Software Development DAY 5

技術 Day5. 介面隔離原則

本文同步更新於blog Interface Segregation Principle (ISP) No client should be forced t...

技術 Day42. 範例:仿真Git (備忘錄模式)

本文同步更新於blog 情境:讓我們利用備忘錄模式,實作一個仿真Git 首先定義Commit <?php namespace App\Me...

鐵人賽 Software Development DAY 8

技術 Day8. 簡單工廠模式

本文同步更新於blog Simple Factory Pattern 又稱為靜態工廠,傳入不同的參數以取得不同的類別物件。 簡單工廠模式會將類別分為兩類:...

鐵人賽 Software Development DAY 3

技術 Day3. 開放封閉原則

本文同步更新於blog Open-Close Principle (OCP) A software artifact should be open for...

鐵人賽 Software Development DAY 2

技術 Day2. 單一職責原則

本文同步更新於blog Single Responsibility Principle (SRP) A module should have one, an...

技術 Day37. 原型模式

本文同步更新於blog Prototype Pattern 當創建實例的過程很昂貴或複雜時,透過拷貝這些原型來建立新的實例。 原型模式中會將類別分為兩類:...

技術 Day39. 建造者模式

本文同步更新於blog Builder Pattern 將複雜對象的構建與其表示分離。 建造者模式會將類別分為三類:分別是指揮者類別 (Director)...

鐵人賽 Software Development DAY 27

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

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

技術 Day38. 範例:三隻小豬 (原型模式)

本文同步更新於blog 情境:三隻小豬想要蓋房子 首先是牆壁,可以選擇不同的建材 <?php namespace App\Prototype...

鐵人賽 Software Development DAY 13

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

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

鐵人賽 Software Development DAY 2

技術 【PHP 設計模式大頭菜】簡單工廠 Simple Factory

簡單工廠 Simple Factory 簡單工廠,這是一種我們真的要買大頭菜的模式,你需要建立一個工廠,這個工廠負責生產特定物件,你只需要把材料丟給工廠,工廠...

技術 Day50. 範例:十二生肖

本文同步更新於blog 情境:玉皇大帝要舉辦渡河比賽,動物選手各顯神通。 <?php namespace App\BridgePattern\...

鐵人賽 Software Development DAY 19

技術 [Design Pattern] Command 命令模式

一份雞排,要切不要辣。  想像一個熟悉的情況,當我們晚上買宵夜時,先走到鹹酥雞攤,跟老闆說一份雞排,要切不要辣,此時你下了第一個命令。接著走到飲料攤,跟...

鐵人賽 Software Development DAY 19

技術 [Design Pattern] Chain of Responsibility 責任鍊模式

(引用自 https://www.flickr.com/photos/strollers/12465549/) 想必沒吃過也聽過看過迴轉壽司吧,壽司師傅站在工...

技術 Day46. 範例:摩斯電碼 (解譯器模式)

本文同步更新於blog 情境:讓我們試著作一個摩斯電碼機,它會將一般句子轉成摩斯電碼的表示 首先是語境類別 (Context) <?php...

鐵人賽 Software Development DAY 15

技術 因為這個設計模式,終於讓我看懂static要怎麼用

C#的書上(蠻多)對static描寫得很艱澀難懂,我翻了幾本也是對static一知半解,真是佩服會說出只讀一本書就能自學學好C#的人Orz 設計模式這個詞主要是...

技術 Day35. 代理模式

本文同步更新於blog Proxy Pattern 為另一個對象提供一個替身或佔位符以控制這個對象的訪問。 代理模式將類別分為兩類:分別是實體類別 (Re...

技術 Day41. 備忘錄模式

本文同步更新於blog Memento Pattern 透過對象外的存檔,讓對象能夠載入之前的狀態。 備忘錄模式會將類別分成三類:分別是原始類別 (Ori...

技術 Day36. 範例:快取代理(代理模式)

本文同步更新於blog 情境:以下是某搜尋功能 客戶端程式碼 <?php namespace App\ProxyPattern\Cache;...

鐵人賽 Software Development DAY 13

技術 【PHP 設計模式大頭菜】修飾模式 Decorator Pattern

修飾模式 Decorator Pattern 修飾模式,或者稱裝飾者模式,為物件動態增加新的方法,就想像你最初的大頭菜沒有想過他會壞掉,某天突然覺得讓大頭菜壞...

鐵人賽 Modern Web DAY 14

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

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

鐵人賽 自我挑戰組 DAY 3

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

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

鐵人賽 Software Development DAY 16

技術 Day16. 樣板方法模式

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

技術 Day43. 蠅量模式

本文同步更新於blog Flyweight Pattern 又稱為享元模式,於相似物件中共享儘可能多的資訊, 進而減少記憶體使用量。 蠅量模式會將類別分為...