php設計模式之裝飾器模式

2021-10-01 20:57:35 字數 632 閱讀 3624

裝飾器模式:

可以動態的新增,修改某乙個類的功能

特點: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設計模式之裝飾器

裝飾器模式的理解 在原來類的基礎上改變功能 增加 減少或重寫 實現 原來 乙個簡單的抽象類,乙個實體類實現抽象類,用於簡單的功能。裝飾之後 裝飾抽象類繼承原來簡單的抽象類,並實現原來抽象類中的抽象方法,裝飾器的實現類繼承裝飾器,實現類的建構函式中包含原來簡單抽象類的引用,實現類實現裝飾器類增加的抽象...