天天看點

設計模式之- 代理(Proxy)設計模式之- 代理(Proxy)

設計模式之- 代理(Proxy)

設計模式之- 代理(Proxy)設計模式之- 代理(Proxy)

1.概述

代理,就是将自己想完成的事情,委托給别人去做。在面對對象中,“代理人”和“本人”都是對象。代理人我們成為代理對象,本人我們稱為目标對象。

2.靜态代理

靜态代理中,代理對象和目标對象都需要實作相同的父類或者繼承相同的父類。

2.1 案例解析

需要為某個儲存操作加一個事務操作。

3.動态代理

3.1 JDK動态代理

目标對象需要實作接口,代理對象不需要實作接口。

3.2 CGLIB 動态代理

目标對象不需要實作接口。在記憶體中會生成一個目标對象的子類。

Tips: Spring Aop 程式設計中,如果加入容器的目标對象有實作接口,用JDk代理。

如果沒實作接口,就用CGLIB代理。