设计模式

1.策略模式

2.模板方法

3.代理模式

cglib:

继承一个类时,生成该类的代理类采用cglib。

实现:实现接口:MethodInterceptor,重写intercept方法,该方法里面是在目标方法前后添加增加的代码执行。

createProxy()方法不是需要实现的任何方法,是创建代理对象的方法。

利用Enhance对象创建代理对象,:把你的类设置为父类,create方法执行完,就会生成(你这个类的子类)代理类,然后调用你目标方法时,通过callback()回调当前类,调用该类的intercept方法。intercept方法里面就是具体执行你的所有逻辑功能

jdk

实现一个类时,使用jdk动态代理

实现:实现InvoctionHandle接口,实现invoke方法。invoke方法里面进行目标方法前后需要执行代码的增加。通过method.invoke反射执行目标方法。

createProxy()创建代理对象的方法。利用Proxy.newInstance(类加载器,目标类实现的的接口,当前的invokehandle对象),生成一个和目标类实现相同接口的实现类。返回的是代理类。

当在使用的地方使用createProxy生成代理类,调用目标方法时,会进行到invoke方法,执行该方法里面的逻辑。


6.门面模式


4.工厂模式

5.装饰模式,也叫包装器模式,Wrap

6.门面模式

你可能感兴趣的:(设计模式)