当你对架构有更多的了解后,你会越来越多的听说 “代理模式”,代理模式是什么?有什么?能做什么?
代理模式是什么? 是一种面向接口开发的设计模式
有什么?三个角色,接口,目标对象,代理对象
能做什么?可以更好的对项目进行扩展
第一步:我们需要先创建一个接口,该接口是一种规范,需要目标对象和代理对象继承
/** * 代理接口 * 代理对象 和 目标对象 都要需继承 */ public interface ISubject { void request(); }
第二步:创建一个目标对象,该类就是真正实现接口方法的类,就是干活的类
/** * 目标对象 */ public class RealSubject implements ISubject{ /** * 真正的去处理工作 */ @Override public void request() { System.out.println("我开始干活了"); } }
第三步:创建一个代理对象,该类是暴露给外界统一使用的
/** * 代理对象 */ public class Proxy implements ISubject{ private final RealSubject realSubject; /** * 代理对构造函数需要传入目标对象 * @param realSubject */ public Proxy(RealSubject realSubject) { this.realSubject = realSubject ; } /** * 委托 目标对象 去执行 */ @Override public void request() { realSubject.request(); } }
第四步:现在接口,目标对象,代理对象都写完了,客户端就可以使用了
/** * 客户端 */ public class Client { public static void main(String[] args){ /** * 通过代理去让外界使用 * 代理对象可以传入不同的目标对象,这样去实现不同的接口方法 * 例如: 传入生产鸡的目标对象,传入生产鸭的目标对象 */ ISubject subject = new Proxy(new RealSubject()); subject.request(); } }
好了,不想写其他的了,因为csdn的错误,导致第一次写的文章丢失了。