码迷,mamicode.com
首页 > 编程语言 > 详细

java学习笔记-设计模式9(代理模式)

时间:2015-12-03 11:36:52      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:

意图

  为其他对象提供一种代理以控制对这个对象的访问。

 

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

java学习笔记-设计模式9(代理模式)

标签:

原文地址:http://www.cnblogs.com/gxl00/p/5015459.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!