国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

簡述PHP設計模式中的裝飾者模式

2020-03-22 19:00:19
字體:
來源:轉載
供稿:網友
本篇文章主要簡述PHP設計模式中的裝飾者模式,感興趣的朋友參考下,希望對大家有所幫助。

定義:

裝飾者模式就是不修改原類代碼和繼承的情況下動態擴展類的功能。傳統的編程模式都是子類繼承父類實現方法重載,使用裝飾器模式,只需添加一個新的裝飾器對象,更加靈活,避免類數量和層次過多。

角色:

Component(被裝飾對象基類)
ConcreteComponent(具體被裝飾對象)
Decorator(裝飾者基類)
ContreteDecorator(具體的裝飾者類)

示例代碼:

//被裝飾者基類interface Component{  html' target='_blank'>public function operation();} //裝飾者基類abstract class Decorator implements Component{  protected $component;   public function __construct(Component $component)  {    $this->component = $component;  }   public function operation()  {    $this->component->operation();  }} //具體裝飾者類class ConcreteComponent implements Component{  public function operation()  {    echo 'do operation'.PHP_EOL;  }} //具體裝飾類Aclass ConcreteDecoratorA extends Decorator {  public function __construct(Component $component) {    parent::__construct($component);   }   public function operation() {    parent::operation();    $this->addedOperationA();  // 新增加的操作  }   public function addedOperationA() {    echo 'Add Operation A '.PHP_EOL;  }} //具體裝飾類Bclass ConcreteDecoratorB extends Decorator {  public function __construct(Component $component) {    parent::__construct($component);   }   public function operation() {    parent::operation();    $this->addedOperationB();  }   public function addedOperationB() {    echo 'Add Operation B '.PHP_EOL;  }}  class Client {   public static function main() {    /*    do operation    Add Operation A    */    $decoratorA = new ConcreteDecoratorA(new ConcreteComponent());    $decoratorA->operation();      /*    do operation    Add Operation A     Add Operation B     */    $decoratorB = new ConcreteDecoratorB($decoratorA);    $decoratorB->operation();  } } Client::main();

總結:以上就是本篇文的全部內容,希望能對大家的學習有所幫助。

相關推薦:

php操作MySQL數據庫及session對話的方法

php常用的三種遍歷樹的技巧

php實現mysql數據庫分卷備份

以上就是簡述PHP設計模式中的裝飾者模式的詳細內容,更多請關注 其它相關文章!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 孝昌县| 昌都县| 灵武市| 邵阳县| 桃园县| 青神县| 东兰县| 三明市| 荣成市| 南部县| 汨罗市| 金寨县| 洮南市| 双鸭山市| 洛阳市| 枣庄市| 大田县| 右玉县| 清镇市| 灵川县| 鄂托克旗| 东乡县| 乐陵市| 湘潭县| 九龙城区| 万年县| 安阳县| 上栗县| 桃源县| 宁都县| 仙桃市| 遂溪县| 阆中市| 平湖市| 广灵县| 儋州市| 闵行区| 宁武县| 开封县| 蒙城县| 东辽县|