浅谈AOP

学习Spring 的时候遇到了一个叫AOP切面编程的东西,如何理解这个AOP切面编程呢?

比如我们都知道面向对象编程,面向对象编程的特性是继承,封装,多态,封装使得不同类有自己独特的方法,作用,这样大大降低 了耦合,但是这样也有坏处,比如A和B类都需要打印日志文件,可能这个日志文件的代码都是一样的,那么如果AB类都写上这个代码,那么会重复影响效率,所以可以将日志文件代码写在C类中,然后AB类同时调用他,可是这样一来,AB类就有耦合了,C的改变会同时影响这两个类,怎么办呢?所以有了切面编程,在你需要的时候动态插入代码运行,也就是说A在调用某函数时打印日志文件的时候,动态执行这段打印日志代码,那么这个函数插入代码的地方就切点,日志文件代码叫切面,类似于吃韭菜,用一根签子串了过去,但不影响每根韭菜的美观,每根都是独立的,这就是AOP

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值