php 裝飾器模式

2021-07-24 15:54:58 字數 670 閱讀 5457

1.裝飾器

裝飾器的作用:可以給動態物件包裝成靜態的類(在外部給物件新增功能),

降低類與類之間的依賴 / 耦合(實質是轉移依賴,呼叫類與實現類之間的依賴=>呼叫類與裝飾器之間的依賴)

裝飾器相對穩定,故當實現類功能改變,只需修改裝飾器的內容。其實我覺得就是乙個介面吧,通過介面呼叫實質執行的類。

ps:裝飾器可以對應多個實現類

2.實現

實現類:

getname();
呼叫類:

data[$key] = $value;

}public function getdata($key)

//規定類只能通過make方法例項化,並只能是單例

public static function make()

return self::$object;}}

裝飾器:

getdata($key);

}public static function set($key,$value)

}

實現類可能是全域性都要使用的,所以應該用單例化,使其成為唯一的。

PHP 裝飾器模式

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

PHP 裝飾器模式

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

php裝飾器模式

不去修改已有的類,而是通過建立另外乙個裝飾器類,通過這個裝飾器類去動態的擴充套件需要修改的內容。inte ce decorator class user 新增裝飾器 public function add decorate decorator decorator 遍歷裝飾器,呼叫裝飾器方法 publ...