从用户的角度上看:知道代理对象就可以了
从实现的者的角度:需要将真正的实体包裹在代理对象里面,并且代理对象和被代理的对象要实现相同的接口。
package com.dp.proxy; public interface ISubject { void request(); }
package com.dp.proxy; /** * 被代理的对象 * @author 黄二狗 * */ public class RealSubject implements ISubject { @Override public void request() { System.out.println("我是被代理的对象"); } }
package com.dp.proxy; /** * 代理对象 * @author 黄二狗 * */ public class Proxy implements ISubject{ private RealSubject realSubject; @Override public void request() { if(realSubject==null) { realSubject=new RealSubject(); } realSubject.request(); } }
package com.dp.proxy; /** * 只知道代理对象就可以了 * @author 黄二狗 * */ public class Client { public static void main(String[] args) { Proxy proxy=new Proxy(); proxy.request(); } }
时间: 2024-10-12 03:42:28