|
看了一段觉得挺好。粘上来了。 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注入业务逻辑对象时也是这种思想! |
角色代理
最新推荐文章于 2025-12-18 13:32:52 发布
本文详细介绍了Java中的代理模式实现,包括抽象角色、真实角色及代理角色的定义与使用。通过具体代码示例展示了如何通过代理类来封装真实对象的方法调用,并在请求前后增加额外的功能。
2009-09-14 21:01
1835

被折叠的 条评论
为什么被折叠?



