Spring5-核心原理-学习 代理模式
2020-04-20 15:05
417 查看
内容都是从Tom老师的书中摘抄,记录下来方便自己学习。
代理模式是指为其他对象提供一种代理,以控制这个对象的访问。代理对象在客户端和目标对象之间起到中介的作用,代理模式属于结构型设计模式。使用代理模式的两个目的:一、保护目标对象,二是增强目标对象。
静态代理
public interface Person { void findLove(); } public class Son implements Person { public void findLove() { System.out.println("son1111"); } } public class Father { private Son son; public Father(Son son) { this.son = son; } public void findLove(){ System.out.println("father111"); this.son.findLove(); System.out.println("1111"); } } public class Main { public static void main(String[] args) { Father father=new Father(new Son()); father.findLove(); } }
动态代理
public interface Person { void findLove(); } public class JDKMeiPo implements InvocationHandler { private Object target; public Object getInstance(Object target) throws Exception{ this.target=target; Class<?> clazz=target.getClass(); return Proxy.newProxyInstance(clazz.getClassLoader(),clazz.getInterfaces(),this); } @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { before(); Object object=method.invoke(this.target,args); after(); return object; } private void before(){ System.out.println(" before :11111"); } private void after(){ System.out.println("after :22222"); } } public class Customer implements Person { @Override public void findLove() { System.out.println("gaofushuai"); } } public class Test { public static void main(String[] args) { try { Person obj= (Person) new JDKMeiPo().getInstance(new Customer()); obj.findLove(); }catch (Exception e){ e.printStackTrace(); } } }
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- Spring5-核心原理-学习 委派模式
- Spring5-核心原理-学习 各种设计模式之间的比对
- Spring5-核心原理-学习 装饰者模式
- Spring5-核心原理-学习 适配器模式
- 学习笔记3:《大型网站技术架构 核心原理与案例分析》之 大型网站架构模式
- J2EE 核心模式(Core J2EE Patterns)学习随心理解、随手记录(一)
- [设计模式学习笔记]PROXY(代理)
- OC语言之学习篇——03——代理模式
- 动态代理模式实现原理
- 反射实现 AOP 动态代理模式(Spring AOP 的实现 原理) --转
- 设计模式学习——代理模式(proxy)
- Spring AOP 学习(一) 代理模式
- 反射实现 AOP 动态代理模式(Spring AOP 的实现 原理)
- Java篇 - 代理模式和动态代理实现原理
- JAVA静态代理模式(从现实生活角度理解代码原理)
- 设计模式C++学习笔记之二(Proxy代理模式)
- 反射实现 AOP 动态代理模式(Spring AOP 的实现 原理)
- java设计模式学习 ----- 代理模式(Proxy)
- AOP--代理模式,拦截器的简易实现及原理
- 设计模式学习笔记——代理(Proxy)模式