1.概念
为其他对象提供一种代理以控制对这个对象的访问。
2.UML图:
3.代码:
//抽象角色: public abstract class Subject { abstract public void request(); } //真实角色:实现了Subject的request()方法。 public class RealSubject extends Subject { public void request() { System.out.println("From real subject."); } } //代理角色: public class ProxySubject extends Subject { private RealSubject realSubject; //以真实角色作为代理角色的属性 public void request() //该方法封装了真实对象的request方法 { if( realSubject == null ) { realSubject = new RealSubject(); } realSubject.request(); //此处执行真实对象的request方法 } } //客户端调用: Subject sub=new ProxySubject(); Sub.request();
4.应用场景:
代理服务器
--------------------------------------------------------------------
PS: 欢迎关注公众号"Devin说",会不定期更新Java相关技术知识。
--------------------------------------------------------------------