php裝飾器模式

2021-10-05 07:31:21 字數 681 閱讀 4481

不去修改已有的類,而是通過建立另外乙個裝飾器類,通過這個裝飾器類去動態的擴充套件需要修改的內容。

inte***ce decorator

class user

/** 新增裝飾器

*/public function add_decorate(decorator $decorator)

/** 遍歷裝飾器,呼叫裝飾器方法

*/public function before_do()}/*

* 遍歷裝飾器,呼叫裝飾器方法

*/public function after_do()}}

// 裝飾器1

class decorator1 implements decorator

public function after_do()

}// 裝飾器2

class decorator2 implements decorator

public function after_do()

}// 例項化被裝飾物件

$user = new user();

// 新增裝飾器

$user->add_decorate(new decorator1());

$user->add_decorate(new decorator2());

// 呼叫方法

$user->eat();

php 裝飾器模式

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

PHP 裝飾器模式

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

PHP 裝飾器模式

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