这就是我在查看了this答案之后,如何在Python中收集一个decorator模式。如果这不是装饰图案的意思,你能帮我理解吗?你知道吗
在这里,一个比萨饼要加配料。添加浇头(装饰)是使用chain中使用的函数完成的。价格会随着装饰的完成而更新,最后会返回一个带有最终价格的披萨对象,然后再订购。你知道吗
def api_send_order(pizza):
print('Ordered pizza for '+str(pizza.price)+' with toppings of '+str(pizza.toppings))
return True
# designed:
class Pizza():
def __init__(self):
self.price = 100
self.toppings = list()
def order(self):
return api_send_order(self)
def mushroom_topped(pizza):
pizza.price += 20
pizza.toppings.append('mushroom')
return pizza
def extracheese_topped(pizza):
pizza.price += 10
pizza.toppings.append('extra-cheese')
return pizza
# used as:
mushroom_topped(extracheese_topped(Pizza())).order()
目前没有回答
相关问题 更多 >
编程相关推荐