装饰器, 根据名字理解就是给函数的功能上做一些装饰(增加功能)
与类的继承相比 好处:
1. 动态: 如果用类的继承,就是在代码的层面上进行添加。 而装饰器是动态的
2. 灵活: 在一个类中,我们保留核心的功能,那些可有可无的功能,我们最好不添加进去(防止类太臃肿)
但当要加的功能比较零碎的时候,他们的排列组合会非常的多,此时子类的个数也会非常的多
而用动态的装饰器就比较合适。
事例代码,主要参考:
http://www.cnblogs.com/rhcad/archive/2011/12/21/2295507.html
http://www.cnblogs.com/huxi/archive/2011/03/01/1967600.html
http://blog.youkuaiyun.com/thy38/article/details/4471421