代理模式

1.什么是代理模式
Proxy模式又叫做代理模式,是构造型的设计模式之一,它可以为其他对象提供一种代理(Proxy)以控制对这个对象的访问。
代理是指和被代理对象拥有相同接口的的类,客户端必须通过代理对象和被代理对象进行交互
2.代理模式的作用
在实际应用中我们可以对某个类进行拓展,但是又不想改变代码,代理模式就是在不改变被代理对象源码的情况下,对被代理对象进行拓展。
3.代理模式的理解
举一个例子,厂家生产方便面生产后要卖方便面,如果等消费者来买的话,就会卖的很慢,产生积压,而且也没有办法自己卖向全国,这样的话会影响自己生产,所有厂家就找到了代理,由代理和消费者进行交互,这样厂商只需要和代理商进行交互就可以了,这样很方便。
4.代码示例(把白酒变成鸡尾酒)
package 代理对象;
//定义共同接口酒,定义方法名
public interface Wine {
public void drink();
}
package 代理对象;
//被代理对象白酒
public class Baijiu implements Wine{

@Override
public void drink() {
	System.out.println("白酒");
}

}
package 代理对象;
//代理对象,对白酒进行拓展
public class Proxy implements Wine{
private Baijiu baijiu;//把被代理对象传入
//创建代参构造函数
public Proxy(Baijiu baijiu) {
this.baijiu = baijiu;
}
@Override
//重写dirnk方法对被代理对象功能进行拓展
public void drink() {
System.out.println(“加点糖”);
this.baijiu.drink();
System.out.println(“加点果汁”);
System.out.println(“鸡尾酒好了”);

}

}
5.静态代理和动态代理
静态代理是指预先确定了代理与被代理者的关系。在编译期就确定了代理类和被代理类的关系,
动态代理模式是代理类是在程序的运行期间由JVM根据反射等机制动态生成,所以不存在代理类的字节码文件,代理类和委托类的关系是在程序运行时确定的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值