国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【設計模式】01-裝飾器模式Decorator

這篇具有很好參考價值的文章主要介紹了【設計模式】01-裝飾器模式Decorator。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

作用:在不修改對象外觀和功能的情況下添加或者刪除對象功能,即給一個對象動態(tài)附加職能

裝飾器模式主要包含以下角色。

  1. 抽象構件(Component)角色:定義一個抽象接口以規(guī)范準備接收附加責任的對象。
  2. 具體構件(ConcreteComponent)角色:實現(xiàn)抽象構件,通過裝飾角色為其添加一些職責。
  3. 抽象裝飾(Decorator)角色:繼承抽象構件,并包含具體構件的實例,可以通過其子類擴展具體構件的功能。
  4. 具體裝飾(ConcreteDecorator)角色:實現(xiàn)抽象裝飾的相關方法,并給具體構件對象添加附加的責任。

【設計模式】01-裝飾器模式Decorator,設計模式,設計模式,裝飾器模式

package decorator;
public class DecoratorPattern {
    public static void main(String[] args) {
        Component p = new ConcreteComponent();
        p.operation();
        System.out.println("---------------------------------");
        Component d = new ConcreteDecorator(p);
        d.operation();
    }
}
//抽象構件角色
interface Component {
    public void operation();
}
//具體構件角色
class ConcreteComponent implements Component {
    public ConcreteComponent() {
        System.out.println("創(chuàng)建具體構件角色");
    }
    public void operation() {
        System.out.println("調(diào)用具體構件角色的方法operation()");
    }
}
//抽象裝飾角色
class Decorator implements Component {
    private Component component;
    public Decorator(Component component) {
        this.component = component;
    }
    public void operation() {
        component.operation();
    }
}
//具體裝飾角色
class ConcreteDecorator extends Decorator {
    public ConcreteDecorator(Component component) {
        super(component);
    }
    public void operation() {
        super.operation();
        addedFunction();
    }
    public void addedFunction() {
        System.out.println("為具體構件角色增加額外的功能addedFunction()");
    }
}

運行結果文章來源地址http://www.zghlxwxcb.cn/news/detail-836921.html

創(chuàng)建具體構件角色
調(diào)用具體構件角色的方法operation()
---------------------------------
調(diào)用具體構件角色的方法operation()
為具體構件角色增加額外的功能addedFunction()

到了這里,關于【設計模式】01-裝飾器模式Decorator的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【設計模式——學習筆記】23種設計模式——裝飾器模式Decorator(原理講解+應用場景介紹+案例介紹+Java代碼實現(xiàn))

    【設計模式——學習筆記】23種設計模式——裝飾器模式Decorator(原理講解+應用場景介紹+案例介紹+Java代碼實現(xiàn))

    在咖啡廳中,有多種不同類型的咖啡,客戶在預定了咖啡之后,還可以選擇添加不同的調(diào)料來調(diào)整咖啡的口味,當客戶點了咖啡添加了不同的調(diào)料,咖啡的價格需要做出相應的改變。 要求 :程序?qū)崿F(xiàn)具有良好的拓展性、改動方便、維護方便 【方案一】 寫一個抽象類Drink,然

    2024年02月15日
    瀏覽(30)
  • 【設計模式-05】Facade門面Mediator調(diào)停者 | Decorator裝飾器 | Chain Of Responsibility責任鏈

    【設計模式-05】Facade門面Mediator調(diào)停者 | Decorator裝飾器 | Chain Of Responsibility責任鏈

    一般是系統(tǒng)內(nèi)部相互交錯,比如 消息中間件(MQ) 就是這種設計模式,對各個功能或系統(tǒng)之間進行解耦。 業(yè)務場景:論壇或者博客發(fā)表帖子或者評論,對敏感詞過濾處理。使用責任鏈的模式進行過濾處理。 把變化的進行封裝處理 核心代碼實現(xiàn) GitHub - jxaufang168/Design-Patterns: 設計

    2024年01月19日
    瀏覽(63)
  • 設計模式-04.01-結構型-代理&橋接&裝飾器&適配器

    設計模式-04.01-結構型-代理&橋接&裝飾器&適配器

    創(chuàng)建型模式比較好理解,后面的結構型和行為型設計模式不是那么好理解。如果遇到不好理解的設計模式,我一般會在開頭舉比較簡單的Demo案例來幫助理解。 前面幾節(jié),我們講了設計模式中的創(chuàng)建型模式。創(chuàng)建型模式主要解決對象的創(chuàng)建問題,封裝復雜的創(chuàng)建過程,解耦對

    2024年02月09日
    瀏覽(24)
  • 設計模式——裝飾器模式

    設計模式——裝飾器模式

    裝飾器模式(Decorator Pattern)允許向一個現(xiàn)有的對象添加新的功能,同時又不改變其結構。這種類型的設計模式屬于結構型模式,它是作為現(xiàn)有的類的一個包裝。 裝飾器模式通過將對象包裝在裝飾器類中,以便動態(tài)地修改其行為。 這種模式創(chuàng)建了一個裝飾類,用來包裝原有的

    2024年02月10日
    瀏覽(25)
  • 設計模式-裝飾器模式

    設計模式-裝飾器模式

    裝飾者模式的定義為:動態(tài)的給一個對象添加其它功能。 從擴展性來說,這種方式比繼承更有彈性,更加靈活,裝飾者模式也體現(xiàn)了開閉原則(OCP)。 星巴克咖啡訂單項目(咖啡館) : 1)咖啡種類/單品咖啡: Espresso(意大利濃咖啡)、ShortBlack、Decaf(無因咖啡)、LongBlack(美式咖啡) 2)

    2024年02月06日
    瀏覽(23)
  • 設計模式--裝飾者模式

    設計模式--裝飾者模式

    (1) 可樂種類/單品可樂 :BaiShiCola(百事可樂) FeiChangCola(非常可樂) CoCola(可口可樂) (2) 調(diào)料/附品: Milk? Chocolate (3) 要求在擴展新的可樂種類時 要具有良好的擴展性 改動方便 維護方便 (4) 使用OO的來就算不同之類可樂的費用 客戶可以點單品可樂 也可以單品可樂+調(diào)料組合 方案1?

    2024年02月02日
    瀏覽(20)
  • 設計模式(3)裝飾模式

    設計模式(3)裝飾模式

    一、介紹: 1、應用場景:把所需的功能按正確的順序串聯(lián)起來進行控制。動態(tài)地給一個對象添加一些額外的職責,就增加功能來說,裝飾模式比生成子類更加靈活。 當需要給一個現(xiàn)有類添加附加職責,而又不能采用生成子類的方法進行擴充時。例如,該類被隱藏或者該類是

    2024年02月13日
    瀏覽(31)
  • 【設計模式】-裝飾器模式

    在軟件開發(fā)中,經(jīng)常有需求對已有的對象進行功能的擴展,但是傳統(tǒng)的繼承方式會導致類的數(shù)量快速增多,且難以維護。為了解決這個問題,裝飾器模式應運而生。 裝飾器模式是一種結構型設計模式,它可以在運行時動態(tài)地將新的行為附加到對象上,而不改變其結構。這種方

    2024年02月14日
    瀏覽(18)
  • 設計模式——裝飾者模式

    設計模式——裝飾者模式

    更多內(nèi)容,前往 IT-BLOG 現(xiàn)實生活中常常需要給某類產(chǎn)品動態(tài)增加新的功能,如:給面條各種調(diào)味品。在軟件開發(fā)過程中,有時想用一些現(xiàn)存的組件。這些組件可能只是完成一些核心功能。但在不改變其架構的情況下,可以動態(tài)地擴展其功能。所以這些都可以采用裝飾模式來實

    2024年02月22日
    瀏覽(17)
  • 【設計模式】裝飾器模式

    【設計模式】裝飾器模式

    裝飾器模式(Decorator Pattern)允許向一個現(xiàn)有的對象添加新的功能,同時又不改變其結構。這種類型的設計模式屬于結構型模式,它是作為現(xiàn)有的類的一個包裝。 裝飾器模式通過將對象包裝在裝飾器類中,以便動態(tài)地修改其行為。 這種模式創(chuàng)建了一個裝飾類,用來包裝原有的

    2024年02月13日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包