非常感謝你的閱讀,如果你覺得好或者對(duì)你有一定的幫助,請(qǐng)積極參與評(píng)論以示鼓勵(lì)。?
曾遇到“
AOP與動(dòng)態(tài)代理有什么聯(lián)系”的問題,現(xiàn)把個(gè)人觀點(diǎn)整理如下:
我覺得,動(dòng)態(tài)代理是AOP的主要實(shí)現(xiàn)手段之一,AOP是動(dòng)態(tài)代理的一種應(yīng)用深化
AOP是一種思想,或者是方法論,類似OOP,是OOP的有力補(bǔ)充;
OOP側(cè)重于主要業(yè)務(wù)功能設(shè)計(jì)(一般關(guān)注點(diǎn));
AOP側(cè)重于橫切關(guān)注點(diǎn)(事務(wù)、日志、安全等,貫穿于多個(gè)模塊的功能)
小分析:
OOP在橫切關(guān)注點(diǎn)問題的不足是:1)代碼混亂 2)代碼分散
AOP很好的解決了這個(gè)問題,并且可以很好的解決“侵入問題”。
AOP的實(shí)現(xiàn),必然要求對(duì)截獲的對(duì)象進(jìn)行代理,這個(gè)地方無疑要用的是動(dòng)態(tài)代理機(jī)制。
如果非要說誰是誰的實(shí)現(xiàn)手段,我更傾向于AOP主要應(yīng)用了動(dòng)態(tài)代理,動(dòng)態(tài)代理是AOP的實(shí)現(xiàn)手段。
附記:
記得一個(gè)文章提及:
AOP是設(shè)計(jì)模式的延續(xù);
GoF側(cè)重于接口、抽象函數(shù)來解除耦合;卻對(duì)對(duì)象的內(nèi)部無能為力。
AOP卻恰恰從對(duì)象的內(nèi)部著手,實(shí)現(xiàn)調(diào)用者和被調(diào)用者的分離。
常思考之,甚是!
Thanks?very?much?to?visit?blog,??welcome?your?feedback,??your?feedback?is?the?Driver?&&?Power?to?me.