裝飾者設計模式 通俗易懂

2021-10-07 22:16:36 字數 1089 閱讀 9873

精選30+雲產品,助力企業輕鬆上雲!>>>

裝飾模式:在不改變 原有類 和 不使用繼承的情況下, 動態地擴充套件乙個物件的功能。

因會建立乙個包裝物件,來包裹真實物件而得名。

作用:增強物件的功能

例子1:

牆: 功能---遮風擋雨

包了牆紙的牆(本質還是牆):

原功能---遮風擋雨

新增功能---陶冶情操

1、沒有改變原有類

2、進行動態地增強

裝飾類:增強功能的類(包了牆紙的牆)

被裝飾類:待增強功能的類(牆)

實現原則

1、 裝飾類必須實現被裝飾類的所有介面

2、裝飾類中必須獲取被裝飾類物件

準備**

phone介面:

public inte***ce phone
hwphone實現類:

public class hwphone implements phone 

public void sendmsg()

}

分析:

1、定義乙個裝飾類 實現 phone介面

2、裝飾類中 獲取到 被裝飾類物件(成員變數)

**實現:

hwphonedecorator:

public class hwphonedecorator implements phone 

/** 打**方法不需要增強,不需要改變

* */

public void call(string number)

/*** 發簡訊方法需要被增強

*/public void sendmsg()

}

測試類:

public static void main(string args)
未使用裝飾者設計模式效果

傳送簡訊

使用裝飾者設計模式效果

傳送簡訊

(o゜▽゜)o☆[bingo!]

裝飾者模式之通俗易懂

一句話 需要包裝,但不改變本質 同宗同源 在不改變原有物件的基礎之上,將功能附加到物件上。提供了比繼承更有彈性的替代方案 擴充套件原有物件功能 特點 1 注重覆蓋 擴充套件。2 裝飾器和被裝飾器都實現同乙個介面,主要目的是為了擴充套件之後依舊保留 oop 關係 同宗同源 3 滿足 is a 的關係。...

通俗易懂設計模式解析 建造者模式

在本篇文章中,我們重點介紹建造者模式 builder pattern 建造者模式顧名思義,與建造建立相關。事實也是如此建造者模式也是建立型中的一種。在我們平常生活中會有比較複雜的東西的組成過程。比如電腦組成 手機組成 電視組成 等等。就拿電腦組成來說。可以由主機板 cpu 顯示卡等等組成。但是組成的...

通俗易懂的裝飾器模式

裝飾器模式 decorator pattern 允許向乙個現有的物件新增新的功能,同時又不改變其結構。這種型別的設計模式屬於結構型模式,它是作為現有的類的乙個包裝。這種模式建立了乙個裝飾類,用來包裝原有的類,並在保持類方法簽名完整性的前提下,提供了額外的功能。意圖 動態地給乙個物件新增一些額外的職責...