动态的将代码切入到指定的方法、指定位置上的编程思想就是面向切面的编程。
代码只有两种,一种是逻辑代码、另一种是非逻辑代码。逻辑代码就是实现功能的核心代码,非逻辑代码就是处理琐碎事务的代码,比如说获取连接和关闭连接,事务开始,事务提交还有log等任何与核心逻辑无关的功能。
为什么要用面向切面编程AOP
假如说DB的相关开发,我们需要每次在相关功能之前需要连接数据库,在每次在功能之后要关闭连接。
每次开发的时候都需要再写一遍这些非逻辑代码,而AOP的思想就是将这些非逻辑代码提取出来,我们只考虑逻辑代码就行了。
把框框设计好,这里写前面的连接数据库,这里写逻辑,这里写后面的关闭连接。
面向切面编程的例子
CSS就是最简单的例子,HTML页面就是从上到下渲染的,遇到一个CSS就加载一个.
a some html tag
a.css
b some html tag
b.css
一开始,会加载a some html tag
,然后会加载a.css
然后,会加载b some html tag
,最后加载 b.css
。