什么是 AOP
?Aspect Oriented Programming 簡稱 “AOP”,大家都知道 AOP 是面向切面編程,但是具體什么是 AOP 呢?他是干什么的?什么作用?為什么要用 AOP?本文的目的就是由淺入深的去分析一下 AOP 的具體作用!
什么是 AOP ?
??AOP 是通過預(yù)編譯方式和運行期間動態(tài)代理實現(xiàn)程序功能的統(tǒng)一維護的一種技術(shù)(來源于百度百科)
??在維基百科中 AOP 又被譯作“面向方面的程序設(shè)計、剖面導(dǎo)向程序設(shè)計”,是計算機科學(xué)中的一種程序設(shè)計思想。其作用是為了提高程序代碼的模塊化程度,通過在現(xiàn)有代碼基礎(chǔ)上增加額外的通知(Advice)機制,能夠?qū)Ρ宦暶鳛椤扒悬c(Pointcut)”的代碼塊進行統(tǒng)一管理與裝飾,并且將橫切關(guān)注點與業(yè)務(wù)主體進行進一步分離,同時又不降低業(yè)務(wù)代碼的可讀性。【注意以上標(biāo)記內(nèi)容,后面會解釋什么是:切點,通知和橫切關(guān)注點】
拓展話題
??通俗的理解就是:相當(dāng)于在原有基礎(chǔ)的功能上,通過 AOP 添加新的功能,例如:我買了一個筆記本,這個筆記本已經(jīng)自帶一個鍵盤,但是我覺得這個自帶鍵盤的不好用或者我用不習(xí)慣,然后我又新買了一個機械鍵盤,使用新的機械鍵盤去工作,這個新的機械鍵盤就相當(dāng)于我用 AOP 去添加的新功能
AOP 核心思想是什么?
??降低業(yè)務(wù)邏輯之間的的耦合性,提高程序的可重用性(這是百度百科的官方解釋)
??我個人理解更偏向于:保證程序原業(yè)務(wù)邏輯的基礎(chǔ)上增加更多的可讀性,例如使用 AOP 添加的日志系統(tǒng),是為了方便后續(xù)程序中問題的監(jiān)控和排查等(純屬個人觀點,但是確實是這么個作用)
總結(jié)
- 上一篇: 四-1,区块链共识机制---POW
- 下一篇: G - Godsend CodeForc