设计模式之Decorator模式

Decorator模式是一种用于增加对象功能的设计模式,常用于不采用子类化来扩展类的情况下。它允许在运行时通过装饰物来动态添加或撤销对象的功能,提供了一种比继承更灵活的增强对象的方式。此模式的核心在于装饰类与被装饰的组件类都实现相同的接口,两者可以独立发展,避免了紧密耦合。
摘要由CSDN通过智能技术生成

Decorator模式

What

"Decorator":装饰品

一种与Composite模式一样都具有递归结构的设计模式,但Decorator模式的主要目的是通过添加装饰物来增加对象的功能。

Why

Decorator模式的应用场景是什么?

  • 当需要给一个现有类添加附加职责,而不能采用生成子类的方式进行扩充时。例如:该类被隐藏或者该类是终极类或者采用继承方式会产生大量的子类。

  • 当需要通过对现有的一组基本功能进行排列组合而产生非常多的功能时,采用继承关系很难实现,而采用装饰器模式却很好实现。

  • 当对象的功能要求可以动态添加,也可以再动态地撤销时。

Decorator模式的优点是什么?

  • 装饰类和被装饰类可以独立发展,不会相互耦合,

  • 装饰器是继承的有力补充,比继承更加灵活。

  • 装饰模式可以动态扩展一个实现类的功能。

How

  • 分析对象,确定Component作为增加功能时的核心角色。

  • 实现Component接口,作为具体的装饰对象。

  • 确定Decorator作为装饰物的抽象接口。

  • 实现Decorator接口作为具体的装饰物。

类图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值