设计模式之面向切面编程 AOP
动态的将代码切入到指定的方法、指定位置上的编程思想就是面向切面的编程。
代码只有两种,一种是逻辑代码、另一种是非逻辑代码。逻辑代码就是实现功能的核心代码,非逻辑代码就是处理琐碎事务的代码,比如说获取连接和关闭连接,事务开始,事务提交还有 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。
参考