为了账号安全,请及时绑定邮箱和手机立即绑定

免费直播 |程序员进阶必备:设计模式—装饰者模式

装饰者模式是java23种设计模式之一,而且在开发中,很多技能知识点底层使用到了装饰者模式。今天来给大家简单介绍下:

使用场景

需要扩展一个类的功能,或给一个类增加附加功能。

需要动态地给一个对象增加功能,这些功能可以再动态地撤销。

需要为一批的兄弟类进行改装或加装功能,当然是首选装饰模式。

结构

1、抽象组件(Component):给出一个抽象接口,以规范准备接受附加责任的对象。

2、被装饰者(ConcreteComponent):Component的具体实现,也就是我们要装饰的具体对象。

3、装饰者组件(Decorator):持有组件对象的实例引用,该类的职责就是为了装饰具体组件对象,定义的基类。

优点

1、使用装饰者模式比使用继承更加灵活,因为它选择通过一种动态的方式来扩展一个对象的功能,在运行时可以选择不同的装饰器,从而实现不同的行为。

2、通过使用不同的具体装饰类以及这些装饰类的排列组合,可以创造出很多不同行为的组合。可以使用多个具体装饰类来装饰同一对象,得到功能更为强大的对象。

3、具体构件类与具体装饰类可以独立变化,它能是低耦合的。用户可以根据需要来增加新的具体构件类和具体装饰类,在使用时再对其进行各种组合,原有代码无须改变,符合“开闭原则”。

缺点

1、会产生很多的小对象,增加了系统的复杂性

2、这种比继承更加灵活机动的特性,也同时意味着装饰模式比继承更加易于出错,排错也很困难,对于多次装饰的对象,调试时寻找错误可能需要逐级排查,较为烦琐。

//////////

如果大家想更加详细了解装饰者模式的话,可以来看咱们的视频直播《程序员进阶必备:设计模式—装饰者模式》》

通过学习咱们的视频直播,可以理解到传统继承增强方法时,所带来的弊端以及装饰者模式带来的好处。并且通过对装饰者模式组成部分的深入理解来解决开发中碰到问题。

讲师介绍

欧阳熊猫 知名财务软件-资深全栈工程师

从事java开发10年,主要负责银行信贷系统开发,国家电网融资租赁系统开发,首都机场设备管理系统开发及用友nc63开发

主播主题

《程序员进阶必备:设计模式—装饰者模式》》

直播时间

今晚8点

直播大纲

1、装饰者如何让程序变的更加强大

  • a 查看io流源码引出装饰者模式

  • b 装饰者模式特点介绍

2、装饰者和继承增强方法的区别

  • a 使用场景演示继承和装饰者

  • b 总结二者区别点

3、装饰者体系结构深入解析

  • a 抽象构件,具体构件,装饰角色,具体装饰承担的责任

  • b 装饰者结构简化

4、装饰者透明/半透明特性

  • a 案例简介(使用齐天大圣变化举例)

  • b 透明特性下代码的编写方式

  • c 半透明特性下代码的编写方式

适合人群

有一定的javaSE基础,本课程会用到java基本语法及接口和继承的使用

参与方式

限时免费!!!

扫描下方海报,加 佳佳 小姐姐好友,回复【直播】获取听课名额~

图片描述

点击查看更多内容
12人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消