首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

易学设计形式六 代理模式(Proxy)

2012-10-30 
易学设计模式六 代理模式(Proxy)代理模式(Proxy)为另一个对象提供一个替身或占位符以控制对这个对象的访问

易学设计模式六 代理模式(Proxy)
代理模式(Proxy)为另一个对象提供一个替身或占位符以控制对这个对象的访问,简而言之就是用一个对象来代表另一个对象。




public abstract class Subject {abstract public void request();}


public class RealSubject extends Subject {public void request() {System.out.println("From real subject");}}


public class ProxySubject extends Subject {private RealSubject realSubject;public ProxySubject() {realSubject = new RealSubject();}public void request() {preRequest();realSubject.request(); //输出一次realSubject.request(); //输出二次postRequest();}public void preRequest() {System.out.print("before request");}public void postRequest() {System.out.println("after request");}}


public class Client {public static void main(String[] args) {Subject subject = new ProxySubject();subject.request();}}


输出:

before requestFrom real subject
From real subject
after request

有个疑问:代理类里面输出两次才能打出真实类的一句语句,很怪,怪怪怪

热点排行