修飾模式 Decorator Pattern 修飾模式,或者稱裝飾者模式,為物件動態增加新的方法,就想像你最初的大頭菜沒有想過他會壞掉,某天突然覺得讓大頭菜壞...
本文同步更新於blog Strategy Pattern 定義算法族,分別封裝,讓彼此之間能互相替換,使算法變化獨立。 策略模式只會將類別分為一類,即算法...
資料對應 Data Mapper 資料對應,這是一種常用於處理物件導向與資料庫資料的模式,與 Repository 不同,Data Mapper 主要處理的事...
本文同步更新於blog 情境:運輸系統,用來取得當前機型名稱等資訊 <?php namespace App\FactoryPattern\Tr...
組合模式 Composite Pattern 組合模式,一種將物件一個一個處理,並且最後組合起來的模式,可以想像剛買到大頭菜時的夢想,經過每次漲跌所帶來的希望...
今天我們會介紹 factory method 模式。 起手式:丟出案例。 提供兩個資料庫連結的那個案例 我們在 DAY18 中講到了一個案例: 系統要能夠支援...
本文同步更新於blog Simple Factory Pattern 又稱為靜態工廠,傳入不同的參數以取得不同的類別物件。 簡單工廠模式會將類別分為兩類:...
橋接模式 Bridge Pattern 橋接模式,將實作體系與抽象體系分離開來,讓兩者能各自更動各自演進,就有點像是大頭菜有分健康的大頭菜及壞掉的大頭菜,你的...
本篇將介紹何謂 object pool 模式,提及的案例是本書作者實際遇到的專案問題。 直接進入案例 這一章 (Chapter 22) 有一些篇幅放在除了實踐此...
本文同步更新於blog Class Diagram Class diagram describes the structure of a system by...
轉接器模式 Adapter Pattern 轉接器模式,顧名思義會在兩個同功能但不同的規格的東西中,當作中間溝通的橋樑,就有點像是健康的大頭菜因為放超過一個禮...
本篇會介紹 何謂 singleton 模式 用案例來看看如何實踐它 何謂 double-checked locking 模式 又如何實踐它 先簡單的說,這兩...
本文同步更新於blog Dependency Inversion Principle (DIP) High-level modules should not...
物件池模式 Pool Pattern 物件池模式,每次的買賣都是致富的關鍵,致富不能只靠 40 顆大頭菜,靠的是放滿整座島的大頭菜,因此你需要有個島專門放大頭...
今天我們會再更近一步討論工廠模式,討論為何工廠物件能夠幫助我們簡化程式碼,以及了解工廠物件的一些原則與背後的意義。 何謂工廠? 首先,我們先來定義「工廠」的含義...
本文同步更新於blog Interface Segregation Principle (ISP) No client should be forced t...
建造者模式 Builder Pattern 建造者模式,主要用來建立複雜的物件,就有點像是大頭菜的功能組成,從鈴錢價格、組合數量、現場實價 ... 等等,為了...
本篇討論 template method 模式,我會涵括 案例:支援兩種資料庫 使用它的時機 Template Method 模式的關鍵特徵 使用它的好處...
本文同步更新於blog Liskov Substitution Principle (LSP) Subtypes must be substitutable...
原型模式 Prototype Pattern 原型模式,你有些物件可能會需要建立很多一樣的物件,只是某些資料不太一樣而已,就有點像是每顆大頭菜都是一模一樣的物...
本系列文章已出版實體書籍:「你的地圖會說話?WebGIS 與 JavaScript 的情感交織」(博碩文化)WebGIS啟蒙首選✖五家地圖API✖近百個程式範...
本文同步更新於blog Open-Close Principle (OCP) A software artifact should be open for...
工廠方法 Factory Method 工廠方法,跟抽象工廠有點像,可是又沒那麼像,抽象工廠的工廠會有個抽象類別,並且把工廠要做且會重工的事情寫在抽象類別當中...
這篇我們介紹 observer 模式。本篇會涵蓋: 簡介 observer 模式 案例:電子商務的新需求 Observer 模式關鍵特徵 與其他模式的合用...
本文同步更新於blog Single Responsibility Principle (SRP) A module should have one, an...
抽象工廠 Abstract Factory 抽象工廠,跟靜態工廠有點像,只是它沒那麼靜態,你需要先把工廠建立出來,才能開始生產大頭菜,就有點像是星期日的早上時...
本篇將介紹到 何謂 Decorator 模式 回到電子商務案例去看如何使用它 它的關鍵特徵 使用 Decorator 模式該注意到的事 我們開始吧! 何謂...
前言 大家好,我是Bear,目前是名PHP工程師。寫文章的當下,著迷於Clean Code、Design Pattern跟Testing。 最近在研究自己寫co...
靜態工廠 Static Factory 靜態工廠,顧名思義就是希望這整個工廠都是屬於靜態屬性的,無論到哪裡都以靜態方法來使用這個工廠,就像是在星期日的早上時,...
我們暫時停下介紹下一個設計模式。本篇將再回頭審思一些設計模式中的基礎以及討論各種原則與策略。 接下來我們會提到: 開閉原則(Open Closed Princ...