web開發筆記 www.chhua.com 每日練習 php設計模式——裝飾器模式
裝飾器模式與介面卡模式的作用幾乎是一樣的,要深刻的理解裝飾模式,就一定要記住「裝飾」二字,很明顯,就是在之前類的基礎上進行一下修飾。也就是說,裝飾器模式必須有父類,然後子類對父類進行裝飾。
下面用乙個例項來說明一下裝飾器模式的用法。
我有用策略模式和裝飾模式結合的方式來演示
1234567
891011
1213
1415
1617
1819
2021
2223
2425
2627
2829
3031
3233
3435
3637
3839
4041
4243
4445
4647
4849
5051
5253
5455
5657
5859
6061
62
<?php
/* *
* */
class printstr
public
function getmessage(
)public
function addnum(
$num1
,$num2)}
class partentzhuanshi
public
function addnum(
$num1
,$num2)}
class zhuangshi extends partentzhuanshi
}public
function addnum(
$num1
,$num2
)return
$total;}
} try
catch (exception $e)
try
catch (exception $e
)?>
以上乙個簡單的例項說明了,策略模式用於更改和替換行為,裝飾模式則是新增和裝飾行為.
PHP 設計模式 裝飾器模式
裝飾器類的作用 不使用繼承,也能是物件使用新方法。重點是類例項化出來的物件。裝飾器類 配菜類 也必須繼承food類,否則就不是裝飾器類了 嗯!就是這樣 裝飾器 手抓餅實現。1 food抽象類 cake類 2 food抽象類 peicai抽象類 各種配菜類 有新方法 3 例項化cake類 obj 將 ...
php設計模式之裝飾器模式
裝飾者模式動態地將責任附加到物件上。若要擴充套件功能,裝飾者提供了比 繼承更有彈性的替代方案。有這樣乙個專案,做乙個餐廳訂餐系統。起初的 結構是這樣的。前面有很多beverage的繼承類,現在遇到的問題是牛奶的價錢 了,那麼所有相關的類,我們都要進行調整,比如milk,sugarandmilk類,這...
PHP設計模式之裝飾器模式
修飾模式,是物件導向程式設計領域中,一種動態地往乙個類中新增新的行為的設計模式。就功能而言,修飾模式相比生成子類更為靈活,這樣可以給某個物件而不是整個類新增一些功能。將所有的功能建立在繼承體系上會導致系統中的類越來越多,而且當你又要修改他們的分支的時候,可能還會出現重複 我們來看下面這個例子,為了計...