文章目录
- 一、什么是装饰模式
- 二、装饰模式的结构
- 三、使用场景+案例分析
一、什么是装饰模式
在不改变对象原有行为的基础上,动态的来为该对象绑定新的行为。
二、装饰模式的结构
装饰模式结构中主要包含如下角色:
- Component(抽象部件):用于声明封装器和被封装对象的公用接口。该接口主要是声明了具体部件中实现的业务方法,由于该接口的存在是的客户端可以处理未被装饰和装饰后的对象。
- Conrete Component(具体的部件):具体的业务(基础行为)处理类,实现了抽象部件接口,也是具体装饰类装饰的对象。
- Baes Decorator(基础装饰类):主要是用来注入具体的部件类,因此具体的装饰类可以将具体的业务处理逻辑委派给具体的部件类
- Conrete Decorator (具体装饰类):提供了动态注入具体的部件对象,并重写基础装饰类,在调用父类方法前或后进行额外的行为