裝飾模式: 顧名思義,裝飾模式是一種對物件資料的多次過濾,就像裝飾一樣, 一層層的修飾, 獲取滿意的結果。
裝飾模式共分為兩個部分:
1: 裝飾者: 在這個介面介面下面的類和方法用以對資料進行修飾(即對資料進行過濾修改)
2: 被裝飾者: 這個就是要被過濾的資料介面物件
炒菜之前要對買來的菜進行揀菜, 洗菜等操作。這個就類似於裝飾操作, 裝飾者就是洗淨的過程操作, 被裝飾者就是菜。
//裝飾者
abstract class decorator
class xicai extends decorator }
//被裝飾者
abstract class cai
//青菜
class qingcai extends cai }
//白菜
class baicai extends cai }
//讓已經裝飾的裝飾者再進行新的裝飾,表示多步過濾
abstract class decorateactor extends decorator
function process(cai $cai)
}//揀菜操作
class jiancai extends decorateactor }
//泡菜操作
class paocai extends decorateactor }
$cai = new qingcai();
$process = new jiancai(new paocai(new xicai($cai)));
$process->process($cai);
這是個揀菜操作。
這是個浸泡操作。
這是個洗菜操作。
總結: 當我們需要對資料進行過濾的時候, 裝飾模式可以成為你的選擇 php 設計模式 之 裝飾模式
裝飾模式 顧名思義,裝飾模式是一種對物件資料的多次過濾,就像裝飾一樣,一層層的修飾,獲取滿意的結果。裝飾模式共分為兩個部分 1 裝飾者 在這個介面介面下面的類和方法用以對資料進行修飾 即對資料進行過濾修改 2 被裝飾者 這個就是要被過濾的資料介面物件炒菜之前要對買來的菜進行揀菜,洗菜等操作。這個就類...
PHP設計模式之裝飾者模式
裝飾者模式動態地將責任附加到物件上。若要擴充套件功能,裝飾者提供了比繼承更有彈性的替代方案。abstract class beverage 被裝飾者類 class coffee extends beverage public function cost 以下三個類是裝飾者相關類 class cond...
PHP設計模式之裝飾者模式
php設計模式之裝飾者模式 介紹 裝飾者模式動態地將責任附加到物件上。若要擴充套件功能,裝飾者提供了比繼承更有彈性的替代方案。思維導圖 有這樣乙個專案,做乙個餐廳訂餐系統。起初的 結構是這樣的。前面有很多beverage的繼承類,現在遇到的問題是牛奶的價錢 了,那麼所有相關的類,我們都要進行調整,比...