Android炒菜現(xiàn)炒現(xiàn)賣之-------- AOP 入門

怎么說呢,不知不覺兩年了,該干點(diǎn)啥了,現(xiàn)在這里記錄一些學(xué)習(xí)的心得,與大家一起分享一下。

首先什么是AOP,都是些老生常談的話題,這里就用一句話來概括AOP是Aspect Oriented Programming的縮寫,中譯文為面向切向編程。

既然是面向切面編程,首先我們該怎么理解Android里面的切面,下面我來為大家一一詳解。本人也是參悟各大神博客,所以有重疊之處請多多包含。

我先介紹下Android里面AOP涉及到的四大概念:

1、pointcut :你所要切入面的類型(比如你要切入的是方法還是構(gòu)造方法等等)

2、advice: 這里最重要的基礎(chǔ)參數(shù):Before、Around、After 三個(gè)參宿就和字面解釋一樣表示三個(gè)階段。

3、joinpoint: 字面理解就是連接點(diǎn),表示代碼注入目標(biāo)特定的點(diǎn)和入口。

4、Aspect: 切面,pointcut和advice指定了一個(gè)具體切面。

5、waveJoin: 編織,將上面定義好的Aspect切面切入各個(gè)模塊。

我剛剛開始看的時(shí)候一臉霧水、什么切面、什么玩意;大家不要急,我來炒菜獻(xiàn)給大家:現(xiàn)在有一口鍋、一堆芹菜。(可惜的是做了兩年開發(fā)的我,近期才醒悟一個(gè)王道:做開發(fā)的一定要懶)。好了,現(xiàn)在基于我很懶但是肚子餓了又必須把菜做了的前提下~let me think 。 讓我們用切面思想來干他。

我們要做的就是定義下要切的范圍是葉子,然后把葉子統(tǒng)統(tǒng)都切下來扔掉燒芹菜莖吃。

第一步:定義范圍:葉子(對應(yīng)Android里面的方法)

表示DebugTrace作用域是(方法)

接下來我們定義好芹菜的葉子(好比Android 中的方法類型)作為pointcut的切入類型

pointcut 切入類型

然后我們定義切入的三個(gè)時(shí)機(jī)advice (Before、Around、After)分別結(jié)合之前定義好的pointcut作為一個(gè)切入面Aspect如下圖,對沒錯(cuò),就是你看到的那樣簡單,只需要如此定義。

不同時(shí)機(jī)的Aspect切面

接下來使用他來把一堆的芹菜都洗菜葉、切菜葉、放鍋里,我只需要使用一步如下:

在Android一個(gè)執(zhí)行的方法上面加入我們的切面

跑起來你會發(fā)現(xiàn),我靠,就這么簡單:

我們只需要在要用的地方切一下就好

全部都會自動完成,我們不需要在每個(gè)類里面都寫上繁重的重復(fù)代碼,我們不需要重復(fù)操作來切一顆顆芹菜,對不對,要做好一道菜,首先我們得懶起來。O(∩_∩)O哈哈~

這里只是簡單闡述下AOP的思想、可以幫我們做的一些事、接下來我會繼續(xù)撰寫完整的一套方法、如何使用,畢竟讓用戶run起來才是王道,其他都是扯皮O(∩_∩)O~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,030評論 25 709
  • What? As we all know,在進(jìn)行項(xiàng)目構(gòu)建時(shí),追求各模塊高內(nèi)聚,模塊間低耦合。然而現(xiàn)實(shí)并不總是如此美...
    MasterNeo閱讀 2,151評論 0 17
  • 基本知識 其實(shí), 接觸了這么久的 AOP, 我感覺, AOP 給人難以理解的一個(gè)關(guān)鍵點(diǎn)是它的概念比較多, 而且坑爹...
    永順閱讀 8,658評論 5 114
  • 秋季護(hù)膚第一課—— 1、食鹽蜂蜜排毒法 食鹽具有消炎殺菌的功效眾所周知,其實(shí)它的排毒功效亦很獨(dú)到。如果你是油性肌膚...
    利贈商城閱讀 147評論 0 0
  • coco在大班接觸到拼音之后,便開始了痛苦的模式。不論是寫就是讀。她一坐到桌前這作業(yè)就說:麻麻我好煩躁,我不想寫,...
    朱敏驛站閱讀 10,167評論 0 2

友情鏈接更多精彩內(nèi)容