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