PHP設計模式 裝飾器模式

2021-07-28 09:57:39 字數 1134 閱讀 3591

web開發筆記 www.chhua.com 每日練習 php設計模式——裝飾器模式

裝飾器模式與介面卡模式的作用幾乎是一樣的,要深刻的理解裝飾模式,就一定要記住「裝飾」二字,很明顯,就是在之前類的基礎上進行一下修飾。也就是說,裝飾器模式必須有父類,然後子類對父類進行裝飾。

下面用乙個例項來說明一下裝飾器模式的用法。

我有用策略模式和裝飾模式結合的方式來演示

123

4567

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

修飾模式,是物件導向程式設計領域中,一種動態地往乙個類中新增新的行為的設計模式。就功能而言,修飾模式相比生成子類更為靈活,這樣可以給某個物件而不是整個類新增一些功能。將所有的功能建立在繼承體系上會導致系統中的類越來越多,而且當你又要修改他們的分支的時候,可能還會出現重複 我們來看下面這個例子,為了計...