摘要:
观察者模式 模式说明 定义了一种一对多的关系,让多个观察对象同时监听一个主题对象,当主题对象状态发生变化时会通知所有观察者。 模式结构图 程序示例 说明:两个观察者,得到同一个通知 代码: class Subject(object): observers=[] info='' def __init_ 阅读全文
摘要:
状态模式 模式说明 当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 模式结构图 程序示例 说明:程序员一天不同时刻的状态 代码: import time class IState(object): def work(self): pass class Programer(o 阅读全文
摘要:
模板方法模式 模式说明 定义一个操作中的算法的骨架,而将步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义算法的某些特定步骤。 模式结构图 程序示例 说明:泡茶与泡咖啡使用同一套流程 代码: class Beverage(object): """description of cla 阅读全文
摘要:
策略模式 模式说明 定义算法家族并且分别封装,它们之间可以相互替换而不影响客户端。 模式结构图 程序示例 说明:选择不同排序算法 代码: class OrderStrategy(object): """sort base""" def Sort(self,*args): pass class Bub 阅读全文
摘要:
装饰者模式 模式说明 装饰者模式装饰者模式可以动态地给一个对象增加一些额外的职责。就增加功能来说,装饰者模式相比生成子类更为灵活。 模式结构图 程序示例 说明:一辆车,装饰窗户,装饰轮子 代码: class Car(object): def description(self): print 'bas 阅读全文
摘要:
访问者模式 模式说明 访问者模式即表示一个作用于某对象结构中的各元素的操作,它使我们可以在不改变各元素的类的前提下定义作用于这些元素的新操作。 模式结构图 程序示例 说明:男人、女人被成功、失败‘访问’的反应 代码: # -*- coding: cp936 -*- class Person: def 阅读全文
只有注册用户登录后才能阅读该文。 阅读全文