5月17日代理_注解_反射

匿名 (未验证) 提交于 2019-12-03 00:30:01
1.用反射获得构造方法: 通过构造方法形参类型的 .class 来确定是哪个构造方法
2.用反射获得字段: 通过字段的名字 来确定获得哪个字段



4.invocation相当于一个监听器,对目标对象方法调用的监听,怎么确定监听的是哪个方法?
4.1 其实在监听时利用了反射,监听
`
静态代理就是代理获得被代理对象,然后在show方法里边调用 被代理对象的show方法;

动态代理是利用Proxy 的方法传入 被代理对象, 然后创建代理对象, 用代理对象调用show方法时,
是invocation 的invoke方法第一时间监听到,然后被调用,传过来的只有:代理/调用的方法/传入的参数
但是并没有传过来目标对象,怎么对目标对象进行处理?


5.代理模式与装饰者的区别


6.注解替换xml?如果用注解跟直接写死有啥区别?





这两个设计模式看起来很像。对装饰器模式来说,装饰者(decorator)和被装饰者(decoratee)都实现同一个 接口。
对代理模式来说,代理类(proxy class)和真实处理的类(real class)都实现同一个接口。此外,不论我们使用哪一个模式,
都可以很容易地在真实对象的方法前面或者后面加上自定义的方法。


然而,实际上,在装饰器模式和代理模式之间还是有很多差别的。
装饰器模式关注于在一个对象上动态的添加方法,然而代理模式关注于控制对对象的访问。
换句话 说,用代理模式,代理类(proxy class)可以对它的客户隐藏一个对象的具体信息。
因此,当使用代理模式的时候,我们常常在一个代理类中创建一个对象的实例。并且,
当我们使用装饰器模 式的时候,我们通常的做法是将原始对象作为一个参数传给装饰者的构造器。


我们可以用另外一句话来总结这些差别:使用代理模式,代理和真实对象之间的的关系通常在编译时就已经确定了,



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!