Java中常见的设计模式之代理设计模式
2015-09-22 11:30
309 查看
代理设计模式
代理设计模式就是指由一个代理主题来操作真实主题,真实主题来操作执行具体的业务,而代理主题负责其他相关业务的处理。代理模式有三种角色:抽象角色,代理角色和真实角色。
抽象角色:声明真实角色和代理角色的共同接口。
代理角色:代理角色内部包含对真实角色的引用,从而可以操作真实角色,同时代理角色提供与真实角色相同的接口以便在任何时候都能代替真实对象。同时代理对象可以再执行真实操作时,附加其他的操作,相当于对真实对象进行封装。
真实角色:代理角色所代表的真实对象,是最终使用的角色。
Java代码示例:
interface NetWork{ public void browse(); } class Real implements NetWork{ public void browse(){ System.out.println("Start search"); } } class Froxy implements NetWork{ private NetWork network; public Froxy(NetWork network){ this.network = network; } public void check(){ System.out.println("Checking"); } public void browse(){ this.check(); this.network.browse(); } } public class FroxyDemo{ public static void main(String[]args){ NetWork nt = null; nt = new Froxy(new Real()); nt.browse(); } }
代理模式的一个好处就是对外提供统一的接口方法,代理类在接口中对真实的类进行操作,从而在不影响外部调用的情况下,进行系统拓展。
当我们需要使用的对象很复杂或者需要很长时间去构造,这时就可以使用代理模式(Proxy)。
相关文章推荐
- Java中常见的设计模式之工厂设计模式
- java.lang.string split 以点分割字符串无法正常拆分字符串
- eclipse waring undefined attribute name 解决
- java函数参数是按值传递的
- Myeclipse 安装离线adt的方法 ()
- java.lang.OutOfMemoryError: PermGen space
- Java中常见的设计模式之单例设计模式
- 如何有效地记录 Java SQL 日志?
- Java中常见的设计模式之观察者模式
- myeclipse查看源码插件安装
- ubuntu 安装 maven 及 eclipse 插件
- Spring事务配置的五种方式
- XMLItergration.java
- java.io.IOException: Stream closed
- Java项目引入第三方Jar包
- java四种线程池的使用,觉得写得不错,值得借鉴
- maven3常用命令、java项目搭建、web项目搭建详细图解
- eclipse 与 Android Studio 获得数字签名的方法
- java 序列化
- JAVA学习之枚举