/*
裝飾模式:英文(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 我們可以保證...