php 設計模式 之 裝飾模式

2021-06-28 01:15:01 字數 962 閱讀 5784

裝飾模式: 顧名思義,裝飾模式是一種對物件資料的多次過濾,就像裝飾一樣, 一層層的修飾, 獲取滿意的結果。

裝飾模式共分為兩個部分:

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的繼承類,現在遇到的問題是牛奶的價錢 了,那麼所有相關的類,我們都要進行調整,比...