代理模式

简介: 代理模式

AOP的底层就是代理模式

静态代理

角色分析:

抽象角色:一般会使用接口或者抽象类l来解决

真实角色:被代理的角色

代理角色:代理真实角色,代理之后一般会做一些附属操作

客户:访问代理对象的人

代码步骤:
1.接口

//租房
public interface Rent {

public void rent();

}
2.真实角色

//房东
public class Host implements Rent {

@Override
public void rent() {
    System.out.println("房东出租房子");
}

}

3.代理角色

public class Proxy implements Rent{

private Host host;

public Proxy() {
}

public Proxy(Host host) {
    this.host = host;
}

@Override
public void rent() {
    host.rent();
    hetong();
    seeHouse();
}

//看房
public void seeHouse(){
    System.out.println("中介带你看房");
}

//签合同
public void hetong(){
    System.out.println("中介带你签合同");
}

}

4.客户端访问代理角色

public class Client {

@Test
public void test01(){
    //房东租房子
    Host host = new Host();
    //代理,中介帮房东租房子,但是代理角色一般会有一些附属操作
    Proxy proxy = new Proxy(host);

    //客户不用面对房东直接找中介即可
    proxy.rent();
}

}

静态代理模式好处:
可以使真实角色的操作更加纯粹,不用去关注一些公共的业务
公共交给代理角色,实现了业务的分工
公共业务发生扩展的时候,方便集中管理

缺点:
一个真实角色就会产生一个代理角色,代码量会翻倍,开发效率变低

动态代理:
动态代理和静态代理角色一样
动态代理的代理类是动态生成的,不是直接写好的
动态代理分为两大类:基于接口的动态代理,基于类的动态代理

基于接口—JDK动态代理
基于类:cglib
java字节码实现:javasist

需要了解两个类:Proxy:代理,InvocationHandler:调用处理程序

动态代理的好处:
可以使真实角色的操作更加纯粹,不用去关注一些公共的业务
公共交给代理角色,实现了业务的分工
公共业务发生扩展的时候,方便集中管理
一个动态代理类代理的是一个接口,一般就是对应的一类业务

目录
相关文章
|
5月前
|
设计模式
对于装饰器模式与代理模式的个人理解
摘要: 代理模式与装饰器模式虽相似,但目的不同。装饰器动态增强对象功能,如添加新特性,而不改变原有类。代理模式则用于控制访问,如优化昂贵操作或添加辅助服务(如日志),它可能在内部初始化原对象。用法上,装饰器由外部决定是否应用,允许链式创建,而代理通常内部调用,外部直接与代理交互,被代理对象可能独立不可用。
|
7月前
|
缓存 数据安全/隐私保护 C++
【C++】—— 代理模式
【C++】—— 代理模式
代理模式——为他人做嫁衣裳
代理模式——为他人做嫁衣裳
|
7月前
|
设计模式 Java
代理模式与动态代理
代理模式与动态代理
48 0
|
7月前
|
Java Spring
代理模式
代理模式
58 0
|
Java 网络安全 Maven
代理模式的运用
代理模式的运用
67 0
|
设计模式 JavaScript
关于代理模式我所知道的
关于代理模式我所知道的
89 0
|
Java Spring
代理模式你了解多少
代理模式你了解多少
84 0
|
设计模式 缓存 监控
我学会了,代理模式
代理模式属于结构型模式,这个类型的设计模式总结出了 类、对象组合后的经典结构,将类、对象的结构和使用解耦了,花式的去借用对象。
101 0
我学会了,代理模式
|
存储 设计模式 缓存
万洋-什么是代理模式
简介: 影视导演找演员谈合作一般是不会直接找到演员本人,而是先找到演员的经纪人,先由经纪人洽谈,经纪人觉得合适的话就会与演员本人商讨合作事项,这个过程导演与演员是不直接接触的。 这里就用到了**代理模式**,导演其实想找的人是演员,但是要先找到是经纪人,再由经纪人找演员沟通。真正的价值在于演员,但是这个过程中,对于导演来说,经纪人与演员体现出了同样的价值,经纪人会全权代理演员与导演洽谈,经纪人会用自己的专业性过滤掉一些不好的合作意向,从而避免演员被频繁打扰。
129 0
万洋-什么是代理模式