设计模式之动态代理

动态代理模式,在当前流行框架(如:Spring、Mybatis、Dubbo)中应用非常广泛,掌握动态代理模式是理解框架源码的基础。如果未来你参与框架的设计与开发,动态代理模式必将成为你的利器。

       动态代理的实践:一、创建实现InvocationHandler接口的类,并重写invoke方法;二、使用Proxy.newProxyInstance创建代理对象;三、JDK的动态代理针对的是接口(使用Mybatis的时候我们创建的Mapper都是接口,接口没有实现类是如何正常调用的呢,答案就是动态代理)。

       日志打印:

       接下来我们来看下Mybats的动态代理实践:

       划重点:动态代理是一种思想,提供了对同一类问题集中统一的解决方案。就如Mybatis,所有的Mapper都由统一的动态代理类处理。思想是根基,更重要的是后续统一处理操作,这个就需要根据具体框架使用场景具体实现了。

posted @ 2018-07-28 12:50  嘟神子  阅读(153)  评论(0编辑  收藏  举报