本文共 914 字,大约阅读时间需要 3 分钟。
AOP(Aspect Oriented Programming),面向切面编程。AOP是OOP(Object Oriented Programming)面向对象编程的延续。
AOP是可以通过预编译方式和运行期动态代理的方式在不修改源代码的情况下给程序统一添加功能的一种技术。 AOP实际上是GoF(Gang of Four,GOF设计模式,四人组)的一种延续。设计模式追求的就是调用者和被调用者之间的解耦。AOP也可以说是这种目标的一种实现。我们知道AOP就是动态代理的一种实现,AOP底层的实现原理是横向编程的一种方式。
我们现在做的一些非业务,如:日志,事务,安全等都会写在业务的代码中(也即是说,这些非业务类横切于业务类),但是这些代码往往都是重复的,我们在写这些代码的时候往往都是复制粘贴,就会很麻烦。AOP就实现了将这些非业务的需求和系统的业务需求分开来做。这种解决的方式也称之为代理机制。在没有使用AOP之前我们都是纵向开发:
现在有了AOP思想,AOP就是一种横向的编程跨越应用程序多个模块的方法或者功能。也就是说,与我们业务逻辑无关的,但是我们也需要关注的部分,比如说:日志,事务,缓存,安全等等…
转载地址:http://moiwi.baihongyu.com/