php 裝飾模式

2021-06-20 17:48:52 字數 1177 閱讀 2186

/*

裝飾模式:英文(decorator pattern)又叫裝飾者模式。裝飾模式是在不必改變原類檔案和使用繼承的情況下,

動態的擴充套件乙個物件的功能。

比繼承更加靈活,功能定義如果完全依賴於繼承體系,會導致類的數量和層次過多,**不好控制而且產生重複。

*//**

*區域類

*@author li.yonghuan

*@version 2014.01.15

* */

abstract class tile

/** *平原

*@author li.yonghuan

*@version 2014.01.15

* */

class plains extends tile

}/**

*區域裝飾器

*@author li.yonghuan

*@version 2014.01.15

*/abstract class tiledecorator extends tile

}/**

*鑽石地形裝飾器

*@author li.yonghuan

*@version 2014.01.15

*/class diamonddecorator extends tiledecorator

}/**

*汙染地形裝飾器

*@author li.yonghuan

*@version 2014.01.15

*/class pollutiondecorator extends tiledecorator

}//測試

$tile = new plains();

echo $wealth = $tile->getwealthfactor(); //2

$diamond = new diamonddecorator( new plains() );

echo $wealth = $diamond->getwealthfactor(); //4

$pollution = new pollutiondecorator( new diamonddecorator( new plains() ) );

echo $pollution->getwealthfactor(); //0

php 裝飾模式

裝飾模式之變形金剛 1 抽象構建類tansform inte ce transform 2 具體構建類car final class car implements transform public function move 3 抽象裝飾類changer class changer implemen...

php 裝飾器模式

1.裝飾器 裝飾器的作用 可以給動態物件包裝成靜態的類 在外部給物件新增功能 降低類與類之間的依賴 耦合 實質是轉移依賴,呼叫類與實現類之間的依賴 呼叫類與裝飾器之間的依賴 裝飾器相對穩定,故當實現類功能改變,只需修改裝飾器的內容。其實我覺得就是乙個介面吧,通過介面呼叫實質執行的類。ps 裝飾器可以...

PHP 裝飾器模式

裝飾器模式 如果已有物件的部分內容或功能性發生改變,但是不需要修改原始物件的結構或不使用繼承,動態的擴充套件乙個物件的功能,則應該使用裝飾器模式。簡單點說 就是我們不應該去修改已有的類,而是通過建立另外乙個裝飾器類,通過這個裝飾器類去動態的擴充套件其需要修改的內容,這樣做的好處就是 1 我們可以保證...