面向切面编程和装饰器

1 AOP

面向切面编程(AOP)是一种编程思想,与OOP并不矛盾,只是他们的关注点不同。面向对象的目的在于抽象和管理,而面向切面的目的在于解耦和复用
如python中的with threading.Lock()大家知道,被这个with代码块包裹的部分立即获得同步的锁机制。这样我们把事务和加锁这两种与业务无关的逻辑抽象出来,在逻辑上解耦,并且可以轻松的做到代码复用。

1.1 使得功能逻辑和业务逻辑解耦,更能和业务的修改完全独立,代码结构清晰,开发方便

1.2 一键注入,代码复用程度高,扩展方便

2 装饰器

python中的装饰器就是设计来实现切面注入功能的,较为经典的有插入日志、性能测试、事务处理等。装饰器式解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量函数中与函数本身无关的雷同代码并继续复用。

装饰器的作用就是为已经存在的对象添加额外的功能。

猜你喜欢

转载自www.cnblogs.com/chenliang0309/p/10091464.html