設計模式之- 代理(Proxy)
1.概述
代理,就是将自己想完成的事情,委托給别人去做。在面對對象中,“代理人”和“本人”都是對象。代理人我們成為代理對象,本人我們稱為目标對象。
2.靜态代理
靜态代理中,代理對象和目标對象都需要實作相同的父類或者繼承相同的父類。
2.1 案例解析
需要為某個儲存操作加一個事務操作。
3.動态代理
3.1 JDK動态代理
目标對象需要實作接口,代理對象不需要實作接口。
3.2 CGLIB 動态代理
目标對象不需要實作接口。在記憶體中會生成一個目标對象的子類。
Tips: Spring Aop 程式設計中,如果加入容器的目标對象有實作接口,用JDk代理。
如果沒實作接口,就用CGLIB代理。