/**
* 【AOP】
* Aspect Oriented Programming,面向切面编程;
*
* 通过 预编译方式 或 运行期间动态代理 实现在不修改源代码的情况下 给程序动态统一添加某种特定功能的一种技术;
*
* 好处:
* 将业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分耦合度降低;
*
* AOP与OOP的区别:
* OOP(面向对象编程):
* 针对 业务处理过程的实体及其属性和行为进行抽象封装,以获得更加清晰高效的逻辑单元划分;
* 关注将需求功能划分为不同的并且相对独立,封装良好的类,并让它们有着属于自己的行为,依靠继承和多态等来定义彼此的关系;
*
* 缺点:
* 将公共行为应用于多个无关对象模型之间;
*
* AOP:
* 针对 业务处理过程中的切面 进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果;
* 希望能够将通用需求功能从不相关的类当中分离出来,能够使得很多类共享一个行为,一旦发生变化,不必修改很多类,而只需要修改这个行为即可;
*
* AOP 是一个概念,一个规范,本身并没有设定具体语言的实现,这实际上提供了非常广阔的发展的空间;
*
* AOP的实现:
* AspectJ、Spring AOP...
*/