读书人

【设计形式】代理模式

发布时间: 2012-10-30 16:13:35 作者: rapoo

【设计模式】代理模式

定义:

????? 代理模式(Proxy Pattern)是对某个对象提供一种名为代理的方式以控制其他对象对这个对象的访问的设计方法。

主要作用:

????? 为其他对象提供一种代理以控制对这个对象的访问。特别地,一个对象不想或者不能直接引用另一个对象,比如一个对象处于客户端,而另一个对象处于服务器,两者进行少量的调用时还好,若两者间调用过多或复杂时,代理模式就可以减少资源浪费,提高效率,作用重大。代理对象在这两个对象间就是中介的作用。

  

?

????? 所谓“代理模式”就是在双方间增加一个代理对象,以更好地解决需要不同方法或修改方法的需求,是符合OOP的基本设计原则的常用模式。

????? 例如:假设有一组对象都实现同一个接口,实现同样的方法,但随着需求的变化,这组对象中有一部分对象需要增加一些特有的方法或功能,有两种方法:

1、每一个需要特殊方法的地方都加上这个方法,但是显然这样不科学,很浪费,代码的重用性低,耦合性高。

2、利用代理方式,在代理对象中创建该方法,就可以漂亮地解决了。

 public class makeProxy implements Star{   People maketimer;   public makeProxy(Star maketimer) {    this.maketimer=maketimer;   }   public void maketime(String msg) {   maketimer.maketime(msg);   }   public void maketime(String msg,String placename) {   maketimer.maketime(msg);   makeplace(placename);   }   private void makeplace(String placename){   System.out.println("地点是:"+placename);   }   }   }
?

读书人网 >软件开发

热点推荐