Android炒菜現炒現賣之-------- AOP 入門

怎么說呢,不知不覺兩年了,該干點啥了,現在這里記錄一些學習的心得,與大家一起分享一下。

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

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

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

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

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

3、joinpoint: 字面理解就是連接點,表示代碼注入目標特定的點和入口。

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

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

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

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

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

表示DebugTrace作用域是(方法)

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

pointcut 切入類型

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

不同時機的Aspect切面

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

在Android一個執行的方法上面加入我們的切面

跑起來你會發現,我靠,就這么簡單:

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

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

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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,646評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,595評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 176,560評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,035評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,814評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,224評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,301評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,444評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,988評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,804評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,998評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,544評論 5 360
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,237評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,665評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,927評論 1 287
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,706評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,993評論 2 374

推薦閱讀更多精彩內容

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