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

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

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

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

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

Join Points介紹

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

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

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

    延伸閱讀

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

    我想了解如何學習

    姓名:
    手機:
    留言: