iT邦幫忙

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

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

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

鐵人賽 Software Development DAY 10

技術 Day10. 策略模式

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

鐵人賽 Software Development DAY 12

技術 【PHP 設計模式大頭菜】資料對應 Data Mapper

資料對應 Data Mapper 資料對應,這是一種常用於處理物件導向與資料庫資料的模式,與 Repository 不同,Data Mapper 主要處理的事...

鐵人賽 Software Development DAY 9

技術 Day9. 範例:運輸系統(簡單工廠模式)

本文同步更新於blog 情境:運輸系統,用來取得當前機型名稱等資訊 <?php namespace App\FactoryPattern\Tr...

鐵人賽 Software Development DAY 11

技術 【PHP 設計模式大頭菜】組合模式 Composite Pattern

組合模式 Composite Pattern 組合模式,一種將物件一個一個處理,並且最後組合起來的模式,可以想像剛買到大頭菜時的夢想,經過每次漲跌所帶來的希望...

鐵人賽 自我挑戰組 DAY 3

技術 DAY22: Factory Method 模式

今天我們會介紹 factory method 模式。 起手式:丟出案例。 提供兩個資料庫連結的那個案例 我們在 DAY18 中講到了一個案例: 系統要能夠支援...

鐵人賽 Software Development DAY 8

技術 Day8. 簡單工廠模式

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

鐵人賽 Software Development DAY 10

技術 【PHP 設計模式大頭菜】橋接模式 Bridge Pattern

橋接模式 Bridge Pattern 橋接模式,將實作體系與抽象體系分離開來,讓兩者能各自更動各自演進,就有點像是大頭菜有分健康的大頭菜及壞掉的大頭菜,你的...

鐵人賽 自我挑戰組 DAY 3

技術 DAY21: Object Pool 模式

本篇將介紹何謂 object pool 模式,提及的案例是本書作者實際遇到的專案問題。 直接進入案例 這一章 (Chapter 22) 有一些篇幅放在除了實踐此...

鐵人賽 Software Development DAY 7

技術 Day7. UML類別圖說明

本文同步更新於blog Class Diagram Class diagram describes the structure of a system by...

鐵人賽 Software Development DAY 9

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

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

鐵人賽 自我挑戰組 DAY 3

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

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

鐵人賽 Software Development DAY 6

技術 Day6. 依賴反轉原則

本文同步更新於blog Dependency Inversion Principle (DIP) High-level modules should not...

鐵人賽 Software Development DAY 8

技術 【PHP 設計模式大頭菜】物件池模式 Pool Pattern

物件池模式 Pool Pattern 物件池模式,每次的買賣都是致富的關鍵,致富不能只靠 40 顆大頭菜,靠的是放滿整座島的大頭菜,因此你需要有個島專門放大頭...

鐵人賽 自我挑戰組 DAY 3

技術 DAY19: 討論工廠模式

今天我們會再更近一步討論工廠模式,討論為何工廠物件能夠幫助我們簡化程式碼,以及了解工廠物件的一些原則與背後的意義。 何謂工廠? 首先,我們先來定義「工廠」的含義...

鐵人賽 Software Development DAY 5

技術 Day5. 介面隔離原則

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

鐵人賽 Software Development DAY 7

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

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

鐵人賽 自我挑戰組 DAY 3

技術 DAY18: Template Method 模式

本篇討論 template method 模式,我會涵括 案例:支援兩種資料庫 使用它的時機 Template Method 模式的關鍵特徵 使用它的好處...

鐵人賽 Software Development DAY 4

技術 Day4. 裡氏替換原則

本文同步更新於blog Liskov Substitution Principle (LSP) Subtypes must be substitutable...

鐵人賽 Software Development DAY 6

技術 【PHP 設計模式大頭菜】原型模式 Prototype Pattern

原型模式 Prototype Pattern 原型模式,你有些物件可能會需要建立很多一樣的物件,只是某些資料不太一樣而已,就有點像是每顆大頭菜都是一模一樣的物...

鐵人賽 Modern Web DAY 3

技術 [1-2] 地圖的工廠 - 以 簡單工廠模式 Simple Factory Design Pattern 產出地圖

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

鐵人賽 Software Development DAY 3

技術 Day3. 開放封閉原則

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

鐵人賽 Software Development DAY 5

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

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

鐵人賽 自我挑戰組 DAY 3

技術 DAY17: Observer 模式

這篇我們介紹 observer 模式。本篇會涵蓋: 簡介 observer 模式 案例:電子商務的新需求 Observer 模式關鍵特徵 與其他模式的合用...

鐵人賽 Software Development DAY 2

技術 Day2. 單一職責原則

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

鐵人賽 Software Development DAY 4

技術 【PHP 設計模式大頭菜】抽象工廠 Abstract Factory

抽象工廠 Abstract Factory 抽象工廠,跟靜態工廠有點像,只是它沒那麼靜態,你需要先把工廠建立出來,才能開始生產大頭菜,就有點像是星期日的早上時...

鐵人賽 自我挑戰組 DAY 3

技術 DAY16: Decorator 模式

本篇將介紹到 何謂 Decorator 模式 回到電子商務案例去看如何使用它 它的關鍵特徵 使用 Decorator 模式該注意到的事 我們開始吧! 何謂...

鐵人賽 Software Development DAY 1

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

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

鐵人賽 Software Development DAY 3

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

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

鐵人賽 自我挑戰組 DAY 3

技術 DAY15: 使用設計模式的原則與策略

我們暫時停下介紹下一個設計模式。本篇將再回頭審思一些設計模式中的基礎以及討論各種原則與策略。 接下來我們會提到: 開閉原則(Open Closed Princ...