日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringAOP之代理设计模式

發(fā)布時間:2023/12/3 javascript 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringAOP之代理设计模式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

[1]設(shè)計模式:
概念:

設(shè)計模式其實就是代碼的一種結(jié)構(gòu)的設(shè)計思路。

好處:

增加代碼健壯性
易修改性
可擴展性

設(shè)計模式的種類:

三大種類: 建造類設(shè)計模式
結(jié)構(gòu)類設(shè)計模式
行為類設(shè)計模式

參考網(wǎng)址:

http://baijiahao.baidu.com/s?id=1639156298714178350&wfr=spider&for=pc

[2] 代理設(shè)計模式:
代理設(shè)計模式的概念:

將對某個功能的調(diào)用以及使用的代碼封裝起來,避免調(diào)用方式以及使用代碼的直接暴露。

代理設(shè)計模式的好處:

①簡化代碼的使用流程 ②保護真實的方法的調(diào)用方式

代理設(shè)計模式的種類:

①靜態(tài)代理 ②動態(tài)代理

[3] 靜態(tài)代理
相關(guān)概念:

真實對象:要進行功能擴展的對象
真實方法:要進行功能擴展的方法
代理對象:調(diào)用真實對象并完成功能擴展的對象。
代理方法:調(diào)用真實方法的擴展方法。

靜態(tài)代理的特點:

代理對象和代理方法都是由程序員自己編寫。

代理流程:

在代理對象的代理方法中調(diào)用真實對象的真實方法,然后將代理對象和代理方法對外暴露提供服務(wù)。

[4] 動態(tài)代理
動態(tài)代理的特點:

代理對象和代理方法是動態(tài)生成的。底層流程和靜態(tài)代理一致

動態(tài)代理的種類:
動態(tài)代理既然代理對象和代理方法是動態(tài)生成的,為了便于用戶的調(diào)用,要求代理方法和真實方法的方法名,形參,返回值必須保持一致,具體實現(xiàn)如下:

①jdk動態(tài)代理(官方提供):
原則:真實對象和代理對象實現(xiàn)相同的接口
②cglib動態(tài)代理(第三方):
原則:代理對象繼承真實對象

jdk動態(tài)代理實現(xiàn)流程:




cglib動態(tài)代理實現(xiàn)流程:

①導(dǎo)入cglib相關(guān)依賴





創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的SpringAOP之代理设计模式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。