java学习笔记-设计模式9(代理模式)
2015-12-03 11:04
751 查看
意图
为其他对象提供一种代理以控制对这个对象的访问。
装饰器模式和代理模式区别:
装饰器模式关注于在一个对象上动态的添加方法,然而代理模式关注于控制对对象的访问。换句话说,用代理模式,代理类(proxy class)可以对它的客户隐藏一个对象的具体信息。因此,当使用代理模式的时候,我们常常在一个代理类中创建一个对象的实例。并且,当我们使用装饰器模 式的时候,我们通常的做法是将原始对象作为一个参数传给装饰者的构造器。
转自:http://blog.csdn.net/zhangerqing/article/details/8239539
为其他对象提供一种代理以控制对这个对象的访问。
public interface Sourceable { public void method(); }
public class Source implements Sourceable{ @Override public void method() { System.out.println("this is original method!"); } }
public class Proxy implements Sourceable{ private Source source; public Proxy(){ super(); this.source = new Source(); // 和装饰器模式区别 } @Override public void method() { System.out.println("before decorator!"); source.method(); System.out.println("after decorator!"); } }
装饰器模式和代理模式区别:
装饰器模式关注于在一个对象上动态的添加方法,然而代理模式关注于控制对对象的访问。换句话说,用代理模式,代理类(proxy class)可以对它的客户隐藏一个对象的具体信息。因此,当使用代理模式的时候,我们常常在一个代理类中创建一个对象的实例。并且,当我们使用装饰器模 式的时候,我们通常的做法是将原始对象作为一个参数传给装饰者的构造器。
转自:http://blog.csdn.net/zhangerqing/article/details/8239539
相关文章推荐
- 【Problems】 当eclipse出现乱码
- java中方法为什么需要返回值?
- JavaEE_Mybatis_SpringMVC_Mybatis_lesson12_一对多关联映射(ResultMap)
- Spring中使用CronTrigger进行任务调度
- 卸载JDK之后,eclipse打不开
- Java里Serializable的那些事
- JAVA过滤器
- java判断文件是否存在
- ubuntu14配置jdk1.7
- java war 打包、解压命令
- SpringJDBC的JdbcTemplate
- JAVA eclipse CLASSPATH路径配置以及 【java.lang.UnsupportedClassVersionError】版本不一致出错解决方案
- java学习笔记-设计模式8(装饰器模式)
- Export Eclipse Product 的一些小事
- java开发ssh框架的原理介绍
- JAVA之关于This的用法
- JVM内存模型和常用配置
- Unable to locate Spring NamespaceHandler for XML schema namespace问题排查
- 用spring搭建微信公众号开发者模式下服务器处理用户消息的加密传输构架(java)
- 使用Spring+CXF开发WebService,使用注解方式