装饰器模式

  说过笑话先。某人要写一个大程序,他听说装饰器模式能搞定大程序,所以他采用了。后期的维护和添加功能都很简单,结果当然是皆大欢喜。 

几天后,他要写一个小程序,他简简单单的对付过去了。后期的维护和添加功能让他痛苦不已。

          是不是很好笑啊!!!

 

 装饰器模式关键字:

   面向切面编程 AOP、类应该对扩展开发,对修改关闭、运行时修改类

 

 

设计模式泛泛谈:

如果说观察者是让模块间松耦合,一个模块的改动不会对程序整体造成多大的影响。装饰器模式则是立足于一个模块本身可以简单修改功能(行为功能,采用装饰器模式应该不是所有的场合都简单有效)

  有种错觉,只要会搭配观察者和装饰器就可以搞定绝大部分的 python 程序设计。

Python 装饰器能做什么:

         1. hook 用, 执行函数前后执行特定的代码

                       2. 注册用, 在函数定义时将函数名保存下来

                       3. 修改类的方法、添加类方法和属性

 

Question:  python 装饰器 or metaclass 到底选择那个更好?

 

posted @ 2016-03-13 16:52  tmortred  阅读(95)  评论(0编辑  收藏  举报