裝飾模式之變形金剛
(1)抽象構建類tansform
inte***ce transform
(2)具體構建類car
final class car implements transform
public function move()
}
(3)抽象裝飾類changer
class changer implements transform
public function move()
}
(4)具體裝飾類root,airplane
class root extends changer
public function say()
}class airplane extends changer
public function fly()
}
(5)測試**
$camaro = new car();
echo '
';$camaro->move();
echo '
';echo '-----------';
echo '
';$bumblebee = new airplane($camaro);
echo '
';$bumblebee->move();
echo '
';$bumblebee->fly();
echo '
';echo '-----------';
echo '
';$bumblebee = new root($camaro);
echo '
';$bumblebee->move();
echo '
';$bumblebee->say();
變形金剛是一輛汽車
在陸地上移動
-----------
變成機飛機
在陸地上移動
在天空飛翔
-----------
變成機械人
在陸地上移動
說話
php 裝飾模式
裝飾模式 英文 decorator pattern 又叫裝飾者模式。裝飾模式是在不必改變原類檔案和使用繼承的情況下,動態的擴充套件乙個物件的功能。比繼承更加靈活,功能定義如果完全依賴於繼承體系,會導致類的數量和層次過多,不好控制而且產生重複。區域類 author li.yonghuan versio...
php 裝飾器模式
1.裝飾器 裝飾器的作用 可以給動態物件包裝成靜態的類 在外部給物件新增功能 降低類與類之間的依賴 耦合 實質是轉移依賴,呼叫類與實現類之間的依賴 呼叫類與裝飾器之間的依賴 裝飾器相對穩定,故當實現類功能改變,只需修改裝飾器的內容。其實我覺得就是乙個介面吧,通過介面呼叫實質執行的類。ps 裝飾器可以...
PHP 裝飾器模式
裝飾器模式 如果已有物件的部分內容或功能性發生改變,但是不需要修改原始物件的結構或不使用繼承,動態的擴充套件乙個物件的功能,則應該使用裝飾器模式。簡單點說 就是我們不應該去修改已有的類,而是通過建立另外乙個裝飾器類,通過這個裝飾器類去動態的擴充套件其需要修改的內容,這樣做的好處就是 1 我們可以保證...