手写装饰器设计模式代码
时间: 2023-11-20 18:54:25 浏览: 164
23种设计模式-手写代码实现「纯手工代码」
装饰器设计模式是一种结构型设计模式,它允许你通过将对象放入包装器中来为原始对象添加新的行为。下面是一个手写的装饰器设计模式的代码示例:
```python
# 定义一个装饰器函数
def my_decorator(func):
def wrapper():
print("在函数执行之前添加的功能")
func()
print("在函数执行之后添加的功能")
return wrapper
# 定义一个函数
def say_hello():
print("Hello!")
# 使用装饰器装饰函数
say_hello = my_decorator(say_hello)
# 调用被装饰后的函数
say_hello()
```
在上面的代码中,我们定义了一个装饰器函数`my_decorator`,它接受一个函数作为参数,并返回一个新的函数`wrapper`。在`wrapper`函数中,我们添加了在函数执行之前和之后的功能。然后,我们定义了一个函数`say_hello`,并使用装饰器函数`my_decorator`来装饰它。最后,我们调用被装饰后的函数`say_hello`,它将会输出以下内容:
```
在函数执行之前添加的功能
Hello!
在函数执行之后添加的功能
```
阅读全文