设计模式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)

相关推荐

  • 中山一日游攻略,去中山自驾游,有什么好去处

    技术中山一日游攻略,去中山自驾游,有什么好去处谢谢邀请!中山地处广东中山市中山一日游攻略,历史悠久,风光秀丽,名胜古迹众多,一个自驾游的好去处。首先是孙中山故居,因孙中山先生而闻名海内外,位于广东省中山市翠亭村
    这里是中

    生活 2021年10月25日
  • 学生证有什么用处,国际学生证在巴黎用处大吗

    技术学生证有什么用处,国际学生证在巴黎用处大吗1. 著名景点基本上都有打折,比如巴黎人游艇,凡尔赛宫,蒙马特小火车等等,如果需要我可以私信您我们巴黎优惠的List清单学生证有什么用处。谢谢回复 2# nelucifer

    生活 2021年10月24日
  • mysql cpu飙升怎么排查问题(mysql root忘记密码怎么办)

    技术如何解决mysql 1053错误问题这篇文章将为大家详细讲解有关如何解决mysql 1053错误问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 my

    攻略 2021年12月22日
  • 抖音刷粉网,免费抖音刷粉工具?

    技术抖音刷粉网,免费抖音刷粉工具?抖音可以花钱购买粉丝,很多营销人员想购买粉丝在抖音上推广,这导致目前刷粉粉普遍是抖音。抖音官方公告正式发布,如果有刷粉,刷点赞,刷评论和其他行为将会被封号的,但事实上,找到一个定期刷粉平

    测评 2021年10月20日
  • 弯月眉,形容身材好腰细的优美句子

    技术弯月眉,形容身材好腰细的优美句子形容女子腰的句子弯月眉。
    1、看她折纤腰以微步,呈皓腕于轻纱。
    眸含春水清波流盼,头上倭堕髻斜插碧玉龙凤钗。
    香娇玉嫩秀靥艳比花娇,指如削葱根口如含朱丹,一颦一笑动人心魂。
    2、一头长

    生活 2021年10月26日
  • python中list与字典的区别(python中list的常用方法有哪些)

    技术Python列表list与字典dict的相关操作有哪些这篇文章主要讲解了“Python列表list与字典dict的相关操作有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究

    攻略 2021年12月17日