设计模式之装饰器模式
1.解释
装饰器模式(Decorator Pattern) 也称为包装模式(Wrapper Pattern) 是指在不改变原有对象的基础之上,将功能附加到对象上,提供了比继承更有弹性的替代方案(扩展原有对象的功能),属于结构型模式。
装饰器模式的核心是功能扩展,使用装饰器模式可以透明且动态地扩展类的功能。
2.spring实现装饰器模式
1.创建一个接口SourceInterface
public interface SourceInterface {
void source();
}
2.创建一个实现类
@Service
public class SourceInterfaceImpl implements SourceInterface {
@Override
public void source() {
System.out.println("我是原本的功能!");
}
}
3.创建一个装饰类(重要!)
import lombok.AllArgsConstructor;
@AllArgsConstructor
public class DecorateSource {
private SourceInterface sourceInterface;
public void source(){
System.out.println("我是装饰器代码!");
sourceInterface.source();
System.out.println("我也是装饰器代码!");
}
}
4.测试
@SpringBootTest
class DemoLoginApplicationTests {
@Resource
private SourceInterface sourceInterface;
@Test
void contextLoads() {
DecorateSource source = new DecorateSource(sourceInterface);
source.source();
}
}
5.结果
我是装饰器代码!
我是原本的功能!
我也是装饰器代码!
标签:模式,public,source,设计模式,sourceInterface,装饰,SourceInterface
From: https://www.cnblogs.com/WangJingjun/p/17154328.html