在讲解AOP时,我们先来看一下,为什么要引入AOP,有什么作用,可以干什么。
问题:
在没有AOP之前,各个模块要打印日志,就是自己处理。反正日志模块的那几个API都已经写好了,你在其他模块的任何地方,任何时候都可以调用。功能是得到了满足,但是
好像没有Oriented的感觉了。是的,随意加日志输出功能,使得其他模块的代码和日志模块耦合非常紧密。而且,将来要是日志模块修改了API,则使用它们的地方都得改。这种搞
法,一点也不酷。
思考:
横向切入系统,提取各个模块可能都要重复操作的部分(如:权限检查,日志记录等等)。
介绍:
AOP
为
AspectOriented Programming
的缩写,意为:面向切面编程
AOP框架选择:android --
AspectJ
IOS --Aspects