设计模式07-装饰模式,Decorator)

技术设计模式07-装饰模式,Decorator) 设计模式07-装饰模式(Decorator)通过实现与被装饰类实现的相同接口或父类,并将被装饰类作为属性注入到装饰器对象中来完成对装饰器模式的应用。装饰

设计模式07-装饰者模式。

通过实现与修饰类相同的接口或父类,并将修饰类作为属性注入到修饰对象中,修饰模式的应用就完成了。

装饰器模式的重点是调用者不知道整个过程,仍然调用最初实现的接口或父类方法。

设计模式07-装饰模式(Decorator)

概述

通过实现与修饰类相同的接口或父类,并将修饰类作为属性注入到修饰对象中,修饰模式的应用就完成了。

装饰器模式的重点是调用者不知道整个过程,仍然调用最初实现的接口或父类方法。

和适配器模式的比较

装饰器和适配器有一个别名叫做Wrapper,它看起来像是包装一个类或对象,但是它们有不同的用途。

适配器模式的含义是将一个接口转换成另一个接口,其目的是通过改变接口来达到复用的目的。

装饰器模式不是改变被装饰对象的接口,而是保留原有的接口,而是增强原有对象的功能,或者改变原有对象的处理方式来提高性能。

所以这两种图案的设计目的是不一样的。

简单实践

JDK实现

1.有一个接口Source及其实现类codingSourceImpl。如果想要修改execute函数,而不修改现有的类并通过Source类型的声明调用它,可以使用decorator模式。

公共接口来源{

void execute();

}

公共类SourceImpl实现了Source {

@覆盖

public void execute(){ 0

}

}

2.创建一个SourceImpl的装饰器类,实现Source接口,并把要装饰的Source类型的实现类作为一个属性。

公共类SourceDecorator实现了源代码{

私人最终来源来源;

SourceDecorator(源代码){ 0

super();

this.source=source

}

@覆盖

public void execute(){ 0

source . method();

}

}

3.调用装饰器类SourceDecorator的示例如下:

公共类DecoratorPattern(

公共静态void main(String[]args){ 0

source source=new source impl();

source decorator=source decorator . builder()。来源(来源)。build();

decorator . execute();

}

}

源码解析

JDK InputStream流

java.io.FilterInputStream

公共类FilterInputStream扩展了InputStream {

InputStream中受保护的易失性;

受保护的FilterInputStream(InputStream in){ 0

this.in=in

}

FilterInputStream通过持有实现相同父类的对象来增强对象的功能。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/53728.html

(0)

相关推荐

  • java项目会用到main方法吗(java main方法可以有几个)

    技术Java main方法面试题有哪些本篇内容主要讲解“Java main方法面试题有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java main方法面试题有哪些”吧

    攻略 2021年12月22日
  • 2021,10,18 题解报告

    技术2021,10,18 题解报告 2021,10,18 题解报告写在前面
    \(T1\) 没想出来,卒
    T1
    招待(entertain)
    题目
    solution
    对 \(W\) 进行三进制拆分,每一位是

    礼包 2021年10月19日
  • 水浒传每回概括200字,水浒传25一32回概括200字

    技术水浒传每回概括200字,水浒传25一32回概括200字●第二十五回王婆计啜西门庆
    淫妇药鸩武大郎
    郓哥被王婆打了之后水浒传每回概括200字,去找武大郎,劈头盖脸骂了他一顿。武大郎见他话里有话,请他到酒店里喝酒吃肉,郓

    生活 2021年10月19日
  • 2021CCPC广州站C. Necklace

    技术2021CCPC广州站C. Necklace 2021CCPC广州站C. Necklace题目:C. Necklace
    题意:
    https://codeforces.com/gym/103415/p

    礼包 2021年11月20日
  • 在家里挣钱的办法,2020年能在家挣钱的方法

    技术在家里挣钱的办法,2020年能在家挣钱的方法1/6 开网店。全职妈妈在家赚钱可以采用开网店的方式。假如你有资金在家里挣钱的办法,假如你有做生意的头脑,不如去开一个网店吧,利用自己的空余时间去网店上赚点零花钱,还是很

    生活 2021年10月28日
  • 孙悟空的外貌,孙悟空的外貌描写50字左右优秀

    技术孙悟空的外貌,孙悟空的外貌描写50字左右优秀孙悟空的外貌是孙悟空的外貌:1、拐子(腿的下部与脚相连处)脸、别颏腮(凹陷皱缩的脸)、雷公嘴(尖鸟嘴)、红眼睛的一个痨病魔鬼。
    2、圆眼睛,查耳朵(张开耳朵),满面毛,雷公

    生活 2021年10月25日