设计模式python系列(2)--装饰器模式

tech2023-01-13  118

1 什么是面向切面编程(AOP)?

AOP是Aspect Oriented Programming的缩写,即面向切面编程面向切面编程,通俗一点说,就是在原有的业务处理流程中切开一刀,然后加入一点额外的功能,原有的整个业务流程不受任何影响面向切面编程,说白了就是给原有的功能做功能增强,但是对原有的代码逻辑不做任何处理

2 装饰器的作用

在python高级语法系列(4)–装饰器 一篇中已经对装饰器的使用情况做了非常详细的介绍,这里简单总结一下装饰器的具体作用:

总的来说装饰器就是利用了AOP面向切面编程的思想,在既有的功能的某个切面上做功能加强

具体展开来说就在如下三个层面做功能加强:

函数执行前后类初始化前后类中的方法执行前后

3 装饰器模式

装饰器模式在python领域说白了就是装饰器的灵活应用,比如对一个主题功能做一些辅助功能的扩展,即很适合使用装饰器模式做功能加强

下面是python中支持的装饰器的使用场景,同样,装饰器模式就完全可以根据这些使用场景对既有的功能做功能加强

装饰器是函数, 被装饰对象也是函数 装饰器无参数,被装饰对象无参数装饰器无参数,被装饰对象有参数装饰器有参数,被装饰对象无参数装饰器有参数,被装饰器对象有参数 被装饰对象是类 装饰器无参数,被装饰类无参数装饰器无参数,被装饰类有参数装饰器有参数,被装饰类无参数装饰器有参数,被装饰类有参数 被装饰对象是类中的方法 装饰器无参数,被装饰类中的方法无参数装饰器无参数,被装饰类中的方法有参数装饰器有参数,被装饰类中的方法无参数装饰器有参数,被装饰类中的方法有参数 装饰器是类 被装饰对象也是函数 装饰器无参数,被装饰对象无参数装饰器无参数,被装饰对象有参数装饰器有参数,被装饰对象无参数装饰器有参数,被装饰器对象有参数 被装饰器对象是类 装饰器无参数,被装饰类无参数装饰器无参数,被装饰类有参数装饰器有参数,被装饰类无参数装饰器有参数,被装饰类有参数 被装饰对象是类中的方法 装饰器无参数,被装饰类中的方法无参数装饰器无参数,被装饰类中的方法有参数装饰器有参数,被装饰类中的方法无参数装饰器有参数,被装饰类中的方法有参数

原文链接

最新回复(0)