阅读本文大概需要3分钟
一、什么是代理模式
代理模式:为其他对象提供一种代理以控制对这个对象的访问。简单来说这就是给目标对象生成一个代理对象,并由代理对象控制对目标对象的引用。
我们来看下装饰者模式的UML图:
二、代理模式的构成
三、实例演示
我们来写一个简单的Demo,我们就以代购化妆品为例写一个例子。
创建一个化妆品的接口
public interface Cosmetics { void BuyCosmetics(); }
创建一个真实的主题
public class Me implements Cosmetics{ @Override public void BuyCosmetics() { System.out.println("我想买韩国的韩妆品,但是我没法出国怎么办?"); } }
代理主题角色
public class Proxy implements Cosmetics { private Me me; @Override public void BuyCosmetics() { if (me == null) { me = new Me(); } me.BuyCosmetics(); // 代理增强的方法 proxys(); } public void proxys() { System.out.println("我去帮你买吧!"); } }
来写一下测试类
public class Test { public static void main(String[] args) { Proxy proxy = new Proxy(); proxy.BuyCosmetics(); } }
结果
四、模式总结
通过上面的介绍我们对代理模式有了一个简单的了解,那么你可能享问代理模式有哪些实际的应用呢?其实我们每天使用电脑就无时无地的在使用代理模式,我们有很多的电脑应用,问了更方便快捷的打开应用,一般都会发送一个快捷方式到桌面,那么这个快捷方式就是一个典型的代理模式。
那么你还知道其他典型的代理模式嘛?
本文分享自微信公众号 - 一个程序员的成长(xiaozaibuluo),作者:小涛
原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。
原始发表时间:2018-11-23
本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。
我来说两句