设计模式之装饰模式
定义:动态地为对象添加新功能。其实对于Python来说,装饰模式一点都不陌生,Python中的装饰模式随出可见,Python中的装饰器都是装饰器模式。 关于装饰器的部分,我在 装饰器学习 这篇文章中介绍了,下面写一个简单的装饰模式。
Python实现:
class Calcute(object):
def add(self,a,b):
return a+b
class decorator():
def __init__(self,decorated_class):
self.decorated_class = decorated_class
def add(self,a,b):
c = self.decorated_class.add(a,b)
print 'the result is %d' % c
return c
cal = Calcute()
dec = decorator(cal)
print dec.add(1,2)
应用场景:当我们需要扩展一个旧类中的新功能时,直接的方法是向旧类添加新的功能,新的逻辑等等,这就会增加该类的复杂性,最好的方法就是写一个新类,实现新的功能。
--------EOF---------
微信分享/微信扫码阅读
微信分享/微信扫码阅读