摘要: 模式说明装饰者模式装饰者模式可以动态地给一个对象增加一些额外的职责。就增加功能来说,装饰者模式相比生成子类更为灵活。模式结构图程序示例说明:一辆车,装饰窗户,装饰轮子代码:class Car(object): def description(self): print 'basic... 阅读全文
posted @ 2014-08-25 17:19 棉花年度 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 模式说明访问者模式即表示一个作用于某对象结构中的各元素的操作,它使我们可以在不改变各元素的类的前提下定义作用于这些元素的新操作。模式结构图程序示例说明:男人、女人被成功、失败‘访问’的反应代码:# -*- coding: cp936 -*-class Person: def Accept(se... 阅读全文
posted @ 2014-08-25 16:57 棉花年度 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 模式说明定义一个操作中的算法的骨架,而将步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义算法的某些特定步骤。模式结构图程序示例说明:泡茶与泡咖啡使用同一套流程代码:class Beverage(object): """description of class""" d... 阅读全文
posted @ 2014-08-25 16:50 棉花年度 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 模式说明定义算法家族并且分别封装,它们之间可以相互替换而不影响客户端。模式结构图程序示例说明:选择不同排序算法代码:class OrderStrategy(object): """sort base""" def Sort(self,*args): passclass Bu... 阅读全文
posted @ 2014-08-25 16:40 棉花年度 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 模式说明当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。模式结构图程序示例说明:程序员一天不同时刻的状态代码:import timeclass IState(object): def work(self): passclass Programer(obje... 阅读全文
posted @ 2014-08-25 16:32 棉花年度 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 模式说明定义了一种一对多的关系,让多个观察对象同时监听一个主题对象,当主题对象状态发生变化时会通知所有观察者。模式结构图程序示例说明:两个观察者,得到同一个通知代码:class Subject(object): observers=[] info='' def __init__(s... 阅读全文
posted @ 2014-08-25 16:20 棉花年度 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 模式说明所谓备忘录模式就是在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。模式结构图程序示例说明:游戏存档,恢复代码:class Memonto(object): _blood=0 _magic=0 def set... 阅读全文
posted @ 2014-08-25 16:15 棉花年度 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 模式说明所谓中介者模式就是用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。模式结构图程序示例说明:房主、租客与中介代码:class Mediator(object): def sendmsg(self,msg,per... 阅读全文
posted @ 2014-08-25 15:55 棉花年度 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 模式说明将请求封装成对象,从而使可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。模式结构图程序示例说明:调用者是遥控器,接受者是电视代码:class TV(object): def open(self): print 'turn on tv' ... 阅读全文
posted @ 2014-08-25 15:31 棉花年度 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 模式说明避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止,这就是职责链模式。模式结构图程序示例说明:处理请假条,不同职位的领导处理不同天数的假条代码:class LeaveRequest(object): def... 阅读全文
posted @ 2014-08-25 15:21 棉花年度 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 模式说明所谓享元模式就是运行共享技术有效地支持大量细粒度对象的复用。系统使用少量对象,而且这些都比较相似,状态变化小,可以实现对象的多次复用。FlyweightFactory内定义的实体是不变的(共享的),传入参数是状态变化。缓存形式,传入参数已经被缓存则直接返回,否则创建参数对应实体,放入缓存并返... 阅读全文
posted @ 2014-08-25 15:12 棉花年度 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 模式说明所谓外观模式就是提供一个统一的接口,用来访问子系统中的一群接口。模式结构图程序示例说明:灯光、荧屏、空调、电视一键开启、关闭代码:class Light(object): def on(self): print 'light turn on' def off(sel... 阅读全文
posted @ 2014-08-25 14:52 棉花年度 阅读(175) 评论(0) 推荐(0) 编辑