您的位置:首页 > 编程语言 > Java开发

设计模式 - 代理模式

2016-06-22 20:34 489 查看

简介

代理模式是一种很常用的设计模式。在软件设计中,使用代理模式的意图有很多。比如处于安全考虑,屏蔽客户端直接访问真实对象;在远程调用中,使用代理类处理远程方法调用的技术细节;为了提升系统性能,对真实对象进行封装,达到延迟加载的目的;在调用方法的前后增加log输出等等。
代理模式分为4个部分:

主题接口: 定义代理类对外公开的方法接口。
展示主题: 真正实现业务逻辑的类。
代理类: 用来封装真实主题的类。
Main: 调用代理类。
代码示例

主题接口IDBQuery.java
package delegate;

public interface IDBQuery {

public String request();
}


真实主题DBQuery.java
package delegate;

public class DBQuery implements IDBQuery {

public DBQuery() {
// initialize operation
}

@Override
public String request() {
return "request";
}

}


代理类DBQueryProxy.java
package delegate;

public class DBQueryProxy implements IDBQuery {

private DBQuery realSubject = null;

@Override
public String request() {
// lazy init
if (realSubject == null)
realSubject = new DBQuery();
// do something before invoke
return realSubject.request();
// do something after invoke
}

}


Main.java
package delegate;

public class Main {

public static void main(String[] args) {
IDBQuery query = new DBQueryProxy();
query.request();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java 代理模式