代理模式

本文通过一个简单的Java示例介绍了代理模式的基本概念及其实现方式。代理模式为其他对象提供了一种代理来控制对这个对象的访问,使得在不修改原有类的基础上增加额外的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先代理的类和被代理的类要实现共同的接口其实也就是通过接口进行代理,然后在代理类的构造函数中创建被代理类的实例就可以实现代理了。

这样可能很乱看代码就知道明白了!

公共接口类

package com.iss.proxy;


public interface Object {
void action();
}

被代理类

package com.iss.proxy;


public class ObjectImpl implements Object {


@Override
public void action() {


System.out.println("===");
System.out.println("===");
System.out.println("这是被代理的类");
System.out.println("===");
System.out.println("===");

}


}


代理类

package com.iss.proxy;


public class ProxyObject implements Object {
Object object;


public ProxyObject() {
System.out.println("这是代理类");
object = new ObjectImpl();
}


public void action() {


System.out.println("代理开始");
object.action();
System.out.println("代理结束");
}


}

测试类

package com.iss.proxy;


public class TestProxy {
public static void main(String[] args) {


Object object = new ProxyObject();
object.action();
}


}

输出结果

这是代理类
代理开始
===
===
这是被代理的类
===
===
代理结束

代理模式的作用:

由上面输出结果可以看出

通过代理类,我们可以在调用被代理类之前或之后执行一些相关操作。 

代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值