内容简介:代理模式属于结构型模式,在操作原对象时增加了一层代理类,用来对原对象的访问进行控制和替代原对象进行一些操作代理模式就是在操作原对象的时候,多出来一个代理类,用来对原对象的访问进行控制和替代原对象进行一些操作
代理模式属于结构型模式,在操作原对象时增加了一层代理类,用来对原对象的访问进行控制和替代原对象进行一些操作
代理模式
代理模式就是在操作原对象的时候,多出来一个代理类,用来对原对象的访问进行控制和替代原对象进行一些操作
类图
- Source:被代理类
- Proxy:代理类,用来对原对象的访问进行控制和替代原对象进行一些操作
- Client:客户端调用代理类,代理类根据条件决定是否调用被代理类
代码
以打电话为例
Phoneable
被代理类和代理类都实现此接口
/** * @author: chenmingyu * @date: 2019/3/1 10:20 * @description: 手机接口 */ public interface Phoneable { /** * 打电话 */ void call(); }
Phone
被代理类,实现Phoneable接口
/** * @author: chenmingyu * @date: 2019/3/1 10:19 * @description: 被代理类 */ public class Phone implements Phoneable { @Override public void call() { System.out.println("打电话"); } }
Proxy
代理类,实现Phoneable接口,持有被代理类实例,提供validate()对被代理类的访问进行控制
/** * @author: chenmingyu * @date: 2019/3/1 14:16 * @description: 代理类 */ public class Proxy implements Phoneable { private Phone phone = new Phone(); @Override public void call() { if(validate()){ phone.call(); } System.out.println("结束通话"); } /** * 检查手机号 * @return */ private Boolean validate(){ System.out.println("手机号验证通过"); return Boolean.TRUE; } }
输出
手机号验证通过 打电话 结束通话
代理模式与装饰器模式的区别,代理模式主要是对原对象的访问进行控制,而装饰器模式主要是为了对原对象增加新的功能
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 设计模式——订阅模式(观察者模式)
- 设计模式-简单工厂、工厂方法模式、抽象工厂模式
- java23种设计模式-门面模式(外观模式)
- 设计模式-享元设计模式
- Java 设计模式之工厂方法模式与抽象工厂模式
- JAVA设计模式之模板方法模式和建造者模式
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Unity Shader入门精要
冯乐乐 / 人民邮电出版社 / 2016-5-1 / CNY 69.00
本书不仅要教会读者如何使用Unity Shader,更重要的是要帮助读者学习Unity中的一些渲染机制以及如何使用Unity Shader实现各种自定义的渲染效果,希望这本书可以为读者打开一扇新的大门,让读者离制作心目中杰出游戏的心愿更近一步。 本书的主要内容为:第1章讲解了学习Unity Shader应该从哪里着手;第2章讲解了现代GPU是如何实现整个渲染流水线的,这对理解Shader的工......一起来看看 《Unity Shader入门精要》 这本书的介绍吧!