策略模式,根据当前上下文选择合适的策略。看Spring AOP的代理源码是如何实现的。
ProxyFactoryBean.getObject(),返回代理对象,具体是返回JdkDynamicAopProxy还是Cglib2AopProxy呢,这时就要根据被代理的目标对象来决定了。
具体实现:
1.定义接口,如:AopProxy
2.实现接口,如:Cglib2AopProxy,JdkDynamicAopProxy
3.定义上下文,如:ProxyFactoryBean,用来获取具体的策略