代理模式
来源:互联网 发布:淘宝清理图片空间 编辑:程序博客网 时间:2024/06/06 05:53
代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。代理模式分为静态代理(所代理的类型是固定的,见下例)和动态代理(可以代理任何类型)
类图:
代码:
publicinterface Subject {
publicvoidrequest();
}
publicclass RealSubjectimplements Subject {
@Override
publicvoid request() {
System.out.println("实际操作");
}
}
publicclass Proxyimplements Subject{
private Subjectsubject;
public Proxy(Subject subject){
this.subject=subject;
}
@Override
publicvoid request() {
System.out.println("操作前检查/日志");
subject.request();
}
}
publicstaticvoid main(String[]args) {
//客户端
Subject sub=new RealSubject();
sub=new Proxy(sub);
sub.request();
}
优点:隐藏了被代理类。
缺点:none
代理模式与适配器,装饰和外观很相似,都是把原有的功能重新包装而成为新的功能。适配器:把功能的接口统一;装饰:提升功能的实现;外观:组合功能;代理:隐藏功能的实现。
四种模式的比较:
适配器
装饰
外观
代理
外部调用
方便
麻烦
很方便
一般
扩展性
弱
强
弱
一般
复杂程度
一般
复杂
简单
一般
- 代理模式--动态代理
- 代理模式-静态代理
- 代理模式-静态代理
- 代理模式 & 动态代理
- 代理模式--静态代理
- 代理模式--动态代理
- 代理模式(动态代理)
- 代理模式-动态代理
- 代理模式-动态代理
- 代理模式动态代理
- 代理模式-静态代理
- 代理模式-动态代理
- 代理模式 -动态代理
- 代理模式---动态代理
- 代理模式-动态代理
- 代理模式--静态代理
- 代理模式!
- 代理模式
- 主机PPPOE拨号VMWARE虚拟机在三种模式下上网
- Linux Socket编程(不限Linux)
- 求子数组的最大和
- 自定义导出按钮
- 个人博客-http://witmax.cn
- 代理模式
- 使用Mingw编译wxWidgets的Dos命令
- HDOJ2055 An easy problem
- ubuntu useradd与adduser的用法详解
- 集体编程智慧(2)
- 关于String s1 = new String("abc") 创建一个对象问题和Java常量池总结
- 阿里云上一个比较奇异的问题
- js读写cookie
- 插入排序