【AOP 面向切面编程】AOP 简介 ( AspectJ 简介 | AspectJ 下载 )
文章目錄
- 一、AOP 簡(jiǎn)介
- 二、AspectJ 簡(jiǎn)介
- 三、AspectJ 下載
一、AOP 簡(jiǎn)介
AOP 是 Aspect Oriented Programming 的縮寫 , 面向切面編程 ;
利用 AOP 面向切面編程 , 可以將 業(yè)務(wù)邏輯的各個(gè)部分 進(jìn)行隔離 , 每個(gè) 業(yè)務(wù)邏輯部分 放在 一個(gè)切面 中實(shí)現(xiàn) , 降低了各個(gè)業(yè)務(wù)邏輯之間的 耦合程度 , 提高了程序的 靈活性 , 可復(fù)用性 , 可維護(hù)性 , 開發(fā)效率 ;
AOP 應(yīng)用場(chǎng)景 :
- 用戶行為統(tǒng)計(jì) : 統(tǒng)計(jì)應(yīng)用中 , 哪個(gè)頁(yè)面 , 哪個(gè)功能 ;
- 性能監(jiān)測(cè) : 監(jiān)測(cè)各個(gè)頁(yè)面的使用性能 ;
- 日志記錄
- 安全控制
- 事務(wù)處理
- 異常處理
使用頻率最高 , 性能差的功能優(yōu)先進(jìn)行迭代 ;
小型應(yīng)用 , 一般選擇使用 第三方埋點(diǎn)統(tǒng)計(jì) SDK ;
大型應(yīng)用 , 一般不會(huì)將自己的用戶行為 , 性能監(jiān)測(cè)信息 , 上傳到第三方廠商的服務(wù)器上 ;
這類第三方 SDK 廠商 , 提供免費(fèi)的 統(tǒng)計(jì)服務(wù) 以及 性能監(jiān)測(cè)服務(wù) , 但是被統(tǒng)計(jì)的數(shù)據(jù)一般都會(huì)被作為產(chǎn)品銷售給大型的互聯(lián)網(wǎng)企業(yè) , 這些數(shù)據(jù)顯然不可能保密 ;
特別注意 : 用戶過(guò)百萬(wàn) , 不要使用第三方 SDK , 用了基本等于把所有數(shù)據(jù)公開了 ;
二、AspectJ 簡(jiǎn)介
AspectJ 的相關(guān)要素 :
- Aspect 切面 : Java 中的類聲明是 對(duì)事物的抽象 , AspectJ 中的 Aspect 切面就是 對(duì)切面的抽象 , 其中包含了 Point Cut 切入點(diǎn) 和 Advice 通知 ; 使用 @Aspect 注解修飾 ;
- Join Point 連接點(diǎn) : 程序執(zhí)行過(guò)程中的關(guān)鍵執(zhí)行點(diǎn) , 如 方法調(diào)用 , 對(duì)類成員和方法的訪問(wèn) , 異常處理模塊 等 ; Join Point 連接點(diǎn)之間可以相互嵌套 ;
- Point Cut 切入點(diǎn) : 一組 Join Point 連接點(diǎn) , 通過(guò) 邏輯關(guān)系 / 正則表達(dá)式 / 通配符 等關(guān)系組合 , 定義了 Advice 通知發(fā)生的位置 ;
- Advice 通知 : Advice 通知 是在 Point Cut 切入點(diǎn) 具體執(zhí)行的操作 , 可以執(zhí)行
- 在 Join Point 連接點(diǎn) before 之前進(jìn)行操作
- 在 Join Point 連接點(diǎn) after 之后進(jìn)行操作
- 在 Join Point 連接點(diǎn) around 前后都要進(jìn)行操作
三、AspectJ 下載
AspectJ 下載地址 : http://www.eclipse.org/aspectj/downloads.php
點(diǎn)擊紅色矩形框中的鏈接 , 可以下載最新的穩(wěn)定版本 ;
下載下來(lái)的 aspectj-1.8.10.jar 文件 , 可以直接運(yùn)行 , 雙擊后 , 彈出如下對(duì)話框 ;
aspectj-1.8.10.jar 文件中包含的內(nèi)容 :
aspectj-1.8.10.jar 文件中包含的 lib 庫(kù) :
aspectj-1.8.10.jar 文件中包含的 doc 文檔 :
總結(jié)
以上是生活随笔為你收集整理的【AOP 面向切面编程】AOP 简介 ( AspectJ 简介 | AspectJ 下载 )的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【IOC 控制反转】Android 事件
- 下一篇: 【错误记录】Android Studio