看了一段觉得挺好。粘上来了。 Subject.java package com.langsin.proxy; // 抽象角色 abstract public class Subject { abstract public void request(); } RealSubject.java package com.langsin.proxy; //真实角色:实现了Subject的request()方法 public class RealSubject extends Subject public RealSubject() public void request() } ProxySubject.java package com.langsin.proxy; //代理角色 public class ProxySubject extends Subject { public ProxySubject() public void request() // 该方法封装了真实对象的request方法 { if (realSubject == null) realSubject.request(); // 此处执行真实对象的request方法 postRequest(); private void preRequest() // something you want to do before requesting } private void postRequest() // something you want to do after requesting } } 应用的时候真正new的是代理类对象 package com.langsin.proxy; //客户端调用 public class Client sub.request(); 可以想想spring对struts的action注入业务逻辑对象时也是这种思想! |
角色代理
最新推荐文章于 2024-07-22 16:29:28 发布
2009-09-14 21:01