轉(zhuǎn)載請標(biāo)明出處http://www.cnblogs.com/yxx123/p/6665736.html
參考:深入理解Android之AOP

AOP雖然是方法論,但就好像OOP中的Java一樣,一些先行者也開發(fā)了一套語言來支持AOP。目前用得比較火的就是AspectJ了,它是一種幾乎和Java完全一樣的語言,而且完全兼容Java(AspectJ應(yīng)該就是一種擴展Java,但它不是像Groovy[1]那樣的拓展。)。當(dāng)然,除了使用AspectJ特殊的語言外,AspectJ還支持原生的Java,只要加上對應(yīng)的AspectJ注解就好。所以,使用AspectJ有兩種方法:

  • 完全使用AspectJ的語言。這語言一點也不難,和Java幾乎一樣,也能在AspectJ中調(diào)用Java的任何類庫。AspectJ只是多了一些關(guān)鍵詞罷了。

  • 或者使用純Java語言開發(fā),然后使用AspectJ注解,簡稱*@AspectJ*。

AspectJ的配置可以參考另一篇文章Android中使用AspectJ

Join Points介紹

Join Points是AspectJ中的一個關(guān)鍵概念。Join Points可以看作是程序運行時的一個執(zhí)行點,比如:一個函數(shù)的調(diào)用可以看作是個Join Points,如Log.e()這個函數(shù),e()可以看作是個Join Points,而調(diào)運e()的函數(shù)也可以認(rèn)為是一個Join Points;設(shè)置一個變量,或者讀取一個變量也可以是個Join Points;for循環(huán)也可以看作是Join Points。

理論上說,一個程序中很多地方都可以被看做是Join Points,但是AspectJ中,只有下面所示的幾種執(zhí)行點被認(rèn)為是Join Points:

  • Join Points說明示例
    method call函數(shù)調(diào)用

    延伸閱讀

    學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運,軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式

    我想了解如何學(xué)習(xí)

    姓名:
    手機:
    留言:
     
      <menu id="sg0sv"></menu>