裝飾器模式:
可以動態的新增,修改某乙個類的功能
特點:1:建立乙個可以被其他類可以實現的類
2:建立乙個功能類去實現剛才定義的類
發現:裝飾器模式與觀察者模式,介面卡模式,這幾種模式存在著一定的相似關係
**:
//定義乙個可以實現的類
inte***ce
decorator
public
function
after()
}/**
* 顏色裝飾器
**/class
color
implements
decorator
//前置操作
public
function
before()
'>";}
//後置操作
public
function
after()
}$color
=new
color
("#000");
$color
->
before()
;$color
->
after()
;
php設計模式之裝飾器模式
裝飾者模式動態地將責任附加到物件上。若要擴充套件功能,裝飾者提供了比 繼承更有彈性的替代方案。有這樣乙個專案,做乙個餐廳訂餐系統。起初的 結構是這樣的。前面有很多beverage的繼承類,現在遇到的問題是牛奶的價錢 了,那麼所有相關的類,我們都要進行調整,比如milk,sugarandmilk類,這...
PHP設計模式之裝飾器模式
修飾模式,是物件導向程式設計領域中,一種動態地往乙個類中新增新的行為的設計模式。就功能而言,修飾模式相比生成子類更為靈活,這樣可以給某個物件而不是整個類新增一些功能。將所有的功能建立在繼承體系上會導致系統中的類越來越多,而且當你又要修改他們的分支的時候,可能還會出現重複 我們來看下面這個例子,為了計...
php設計模式之裝飾器
裝飾器模式的理解 在原來類的基礎上改變功能 增加 減少或重寫 實現 原來 乙個簡單的抽象類,乙個實體類實現抽象類,用於簡單的功能。裝飾之後 裝飾抽象類繼承原來簡單的抽象類,並實現原來抽象類中的抽象方法,裝飾器的實現類繼承裝飾器,實現類的建構函式中包含原來簡單抽象類的引用,實現類實現裝飾器類增加的抽象...