javascript
SpringAOP之代理设计模式
[1]設計模式:
概念:
設計模式其實就是代碼的一種結構的設計思路。
好處:
增加代碼健壯性
易修改性
可擴展性
設計模式的種類:
三大種類: 建造類設計模式
結構類設計模式
行為類設計模式
參考網址:
http://baijiahao.baidu.com/s?id=1639156298714178350&wfr=spider&for=pc
[2] 代理設計模式:
代理設計模式的概念:
將對某個功能的調用以及使用的代碼封裝起來,避免調用方式以及使用代碼的直接暴露。
代理設計模式的好處:
①簡化代碼的使用流程 ②保護真實的方法的調用方式
代理設計模式的種類:
①靜態代理 ②動態代理
[3] 靜態代理
相關概念:
真實對象:要進行功能擴展的對象
真實方法:要進行功能擴展的方法
代理對象:調用真實對象并完成功能擴展的對象。
代理方法:調用真實方法的擴展方法。
靜態代理的特點:
代理對象和代理方法都是由程序員自己編寫。
代理流程:
在代理對象的代理方法中調用真實對象的真實方法,然后將代理對象和代理方法對外暴露提供服務。
[4] 動態代理
動態代理的特點:
代理對象和代理方法是動態生成的。底層流程和靜態代理一致
動態代理的種類:
動態代理既然代理對象和代理方法是動態生成的,為了便于用戶的調用,要求代理方法和真實方法的方法名,形參,返回值必須保持一致,具體實現如下:
①jdk動態代理(官方提供):
原則:真實對象和代理對象實現相同的接口
②cglib動態代理(第三方):
原則:代理對象繼承真實對象
jdk動態代理實現流程:
cglib動態代理實現流程:
①導入cglib相關依賴
總結
以上是生活随笔為你收集整理的SpringAOP之代理设计模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 配置低的单机游戏?
- 下一篇: gradle idea java ssm