1. 程式人生 > >設計模式之動態代理

設計模式之動態代理

ner 我們 實現類 hand -o 技術 框架源碼 具體實現 voc

動態代理模式,在當前流行框架(如:Spring、Mybatis、Dubbo)中應用非常廣泛,掌握動態代理模式是理解框架源碼的基礎。如果未來你參與框架的設計與開發,動態代理模式必將成為你的利器。

動態代理的實踐:一、創建實現InvocationHandler接口的類,並重寫invoke方法;二、使用Proxy.newProxyInstance創建代理對象;三、JDK的動態代理針對的是接口(使用Mybatis的時候我們創建的Mapper都是接口,接口沒有實現類是如何正常調用的呢,答案就是動態代理)。

技術分享圖片 技術分享圖片 技術分享圖片 技術分享圖片

日誌打印:

技術分享圖片

接下來我們來看下Mybats的動態代理實踐:

技術分享圖片 技術分享圖片

劃重點:動態代理是一種思想,提供了對同一類問題集中統一的解決方案。就如Mybatis,所有的Mapper都由統一的動態代理類處理。思想是根基,更重要的是後續統一處理操作,這個就需要根據具體框架使用場景具體實現了。

設計模式之動態代理