面向切面编程
把逻辑代码和处理琐碎事务的代码分离开,以便能够分离复杂度。让人在同一时间只用思考代码逻辑,或者琐碎事务。代码逻辑比如是插入一条数据,那么琐碎事务就包括获取连接和关闭连接,事务开始,事务提交。切面就是指在大堆繁琐事务中的逻辑代码。
例子
先假设你有一段逻辑代码要写~ 在这段代码之前要写log;代码完成之后要写log。结局就是一大堆的log代码就淹没了逻辑代码。aop的想法就是将非逻辑部分的代码抽离出来,只考虑逻辑代码就行了,我把框框画好,这里写前面的log,这里写逻辑,这里写后面的log。事实上用着嘛~ 我没用过。逻辑代码好像和非逻辑代码是分开在不同文件的。个人觉得跳文件也很烦躁。
切面角度
针对于所有业务需要添加一个日志,传统的方法就是改造每个业务方法。这样其实显得很麻烦。从日志系统的角度看过去,不管加在哪里,其实就是添加日志而。aop允许你以一种统一的方式在运行时期在想要的地方插入这些逻辑。
网友评论