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...