学习了一下代理设计模式,顺便记录一下心德。 代理模式在编程中比较常见同时在生活中我们也是比较常见的,比如让同事给带饭,找婚介公司给筹划婚礼,找中介公司给你把房子租出去等。 代理模式使用场景: 对一个类我们不能获取到某个对象或者不想直接获取某个对象时可以通过一个代理对象间接访问该对象,委托对象与代理对象需要实现相同的接口。 代理模式的几个角色: Subject:抽象主题类 RealSubject:具体实现类 PRoxy:代理类,持有具体实现类的引用. 代理模式分为两种:静态代理+动态代理。
在代码运行之前代理类的class编译文件就已经存在。 看下简单的代码。根据上面说的委托对象与代理对象需要实现相同的接口。接口也就少不了。
通过反射机制动态的生成代理者的对象。在编程过程中我们不需要知道代理谁,只有在执行阶段才知道代理的谁。在java中也为我们提供了invocationHandler接口方便我们实现动态代理。
新闻热点
疑难解答