GoF设计模式 - 代理模式
Posted javanbme
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GoF设计模式 - 代理模式相关的知识,希望对你有一定的参考价值。
代理模式属于结构型模式,为其他对象提供一种代理以控制对这个对象的访问。
Subject 类,定义了RealSubject 和Proxy 的共用接口,这样就在任何使用RealSubject 的地方都可以使用Proxy。
代理模式上,基本上有Subject角色,RealSubject角色,Proxy角色。其中:Subject角色负责定义RealSubject和Proxy角色应该实现的接口;RealSubject角色用来真正完成业务服务功能;Proxy角色负责将自身的Request请求,调用realsubject 对应的request功能来实现业务功能,自己不真正做业务。
静态代理
1. Subject类
public abstract class Subject {
public abstract void request();
}
2. Realsubject类
public class RealSubject extends Subject {
@Override
public void request() {
System.out.println("真实请求");
}
}
3. Proxy类
public class Proxy extends Subject{
private RealSubject realSubject;
@Override
public void request() {
if (realSubject == null){
realSubject = new RealSubject();
}
realSubject.request();
}
}
4. 调用
@SpringBootTest
class ProxyDemoApplicationTests {
@Test
void contextLoads() {
Subject subject = new Proxy();
subject.request();
}
}
动态代理
详情查看 : https://blog.csdn.net/javanbme/article/details/117222419
源码
https://download.csdn.net/download/javanbme/19026515
以上是关于GoF设计模式 - 代理模式的主要内容,如果未能解决你的问题,请参考以下文章