什么是面向切面编程AOP

一、前言

看过一些描述关于AOP切面编程的文章,写的太概念化让人很难理解,下面是我自己的理解,希望能帮到新人,如有错误欢迎指正。

二、AOP是什么,它的应用场景是什么?

AOP也跟IOC,OOP这些思想一样它只是一种编程思想。Autofac、Spring.Net、Castle这些组件实现了AOP切面编程思想的框架。AOP说白了就是在运行时,动态的将代码切入到类的指定方法的指定位置上,这种思想就是面向切面的编程思想。

如果你发现你的方法中有很多重复的代码就可以考虑用aop来精简代码了。比如说你想监控每个方法的耗时,按照传统的方法是每个方法都加上监控代码,如果用AOP思想去解决问题,就可以把跟监控代码放到方法的外面去写。

AOP思想的应用场景:

  • AOP切面缓存
  • 权限认证
  • 错误处理
  • 调试
  • 日志记录
  • 性能监控
  • 数据持久化
  • AOP事务

三、AOP切面执行流程

AOP切面有点像拦截器,不过跟拦截器有点区别

四、代码例子

这个例子开发环境使用的是.Net Core 3.0,用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值