设计模式—代理模式

废话不多说:
代理模式
代理模式
什么是代理模式?代理在百度解释里面的意思:暂时代人担任 某单位的负责职务,因此显然意见,被代理者的功能代理者都需要拥有。同时使用者直接面对的是代理者而不是具体的被代理者。

依赖倒转原则:依赖接口编程!

对象抽象类:

interface Subject{
     request();
}

被代理类:

interface ConcreteSubject implements Subject{
     request(){
           return "Hello World";
     }
}

对象抽象类:

interface Proxy implements Subject{
     request(){
           return new ConcreteSubject().request();
     }
}

使用者类:

Subject proxy = new Proxy();
proxy.request();

以上就是代理模式的简单代码了。

是不是觉得优点脱裤子放屁,多此一举?明明可以直接用实现类的,反而有包了一层,做调用!

其实不是啊!!!!

第一在代理模式里面,你向使用者暴露的是代理类而不是实现类,即使用者不知道有实现类的存在,它认为代理类就是实现类了。
第二在不改变实现类与使用者类的情况下,你只需要更改代理类,就可以实现包括额外逻辑处理,权限管理等等额外的业务功能。

第三代理类隐藏了细节,你无需知道里面是怎么执行的,就可以直接只用。

其实代理模式和中介者模式有相同地方。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值