下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

软件设计:设计模式之面向切面编程AOP

作者:玮哥的博客     来源: https://www.cnblogs.com/vigorz/p/WhatisAOP.html点击数:751发布时间: 2020-04-04 18:23:55

标签: css函数式编程spring

  在软件业,AOP为AspectOrientedProgramming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是spring框架中的一个重要内容,是函数式编程的一种衍生范型。

  利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。

  设计模式之面向切面编程AOP

  动态的将代码切入到指定的方法、指定位置上的编程思想就是面向切面的编程。

  代码只有两种,一种是逻辑代码、另一种是非逻辑代码。逻辑代码就是实现功能的核心代码,非逻辑代码就是处理琐碎事务的代码,比如说获取连接和关闭连接,事务开始,事务提交还有log等任何与核心逻辑无关的功能。

  为什么要用面向切面编程AOP

  假如说DB的相关开发,我们需要每次在相关功能之前需要连接数据库,在每次在功能之后要关闭连接。

  每次开发的时候都需要再写一遍这些非逻辑代码,而AOP的思想就是将这些非逻辑代码提取出来,我们只考虑逻辑代码就行了。

  把框框设计好,这里写前面的连接数据库,这里写逻辑,这里写后面的关闭连接。

  面向切面编程的例子

  css就是最简单的例子,HTML页面就是从上到下渲染的,遇到一个CSS就加载一个.

  asomehtmltag

  a.css

  bsomehtmltag

  b.css

  一开始,会加载asomehtmltag,然后会加载a.css

  然后,会加载bsomehtmltag,最后加载b.css。

  "面向切面编程",这样的名字并不是非常容易理解,且容易产生一些误导。有些人认为"OOP/OOD11即将落伍,AOP是新一代软件开发方式"。显然,发言者并没有理解AOP的含义。

赞(15)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程