摘要: 观察者模式 :定义了内部的对象之间是1:n的关系,当一个对象的状态发生了变化,与这个对象相关联的数据都会同时发生改变。类似报纸订阅,当订阅报纸后,一有更新就会自动收到,除非退订;这里我们将出版者称为“主题”(Subject),订阅者成为“观察者”(Observer)。 类图:其中的ConcreteSubject就是相关的报纸。案例:现在要实现一个气象站,观测四个数据,有气压,温度,湿度,可见度,但是有多个地点的公告板,需要使用到其中的数据。当其中的一个数据发生改变,其他的公告板,会马上得到更新。基本实现如下:定义基本模型: Subject,ObverserModel_Interfacecla. 阅读全文
posted @ 2013-01-23 17:25 jerry_xing8 阅读(2111) 评论(0) 推荐(0) 编辑
摘要: 抽象工厂同简单工厂模式的最大区别是 : 简单工厂模式 或者 工厂方法是 通过父类,屏蔽子类,创建单个产品。 抽象工厂是创建一个产品族。 UML 类图如下:抽象产品 AbstractPrd 的定义,我们将其定义为PisszaAbstractPrd 1 class Pizza: 2 3 name = "" 4 dough = None 5 sauce = None 6 cheese = None 7 clam = None 8 9 def prepare(self): 10 pass 11 ... 阅读全文
posted @ 2013-01-23 16:39 jerry_xing8 阅读(1183) 评论(0) 推荐(0) 编辑
摘要: python 简单工厂 阅读全文
posted @ 2013-01-23 16:12 jerry_xing8 阅读(1818) 评论(0) 推荐(0) 编辑
摘要: JAVA 中的命令模式大家估计都很熟悉,就是可以讲命令调用者和命令的执行者进行解耦。看一下类图: 。 第一步: 目前Python设计的实体有电灯,和仓库门 (Light,GarageDoor)Entity 1 #coding = utf8 2 class Light(object): 3 def on(self): 4 print '---the light on---' 5 def off(self): 6 print '---the light off---' 7 8 class GarageDoor(object): 9 def... 阅读全文
posted @ 2013-01-23 15:59 jerry_xing8 阅读(617) 评论(0) 推荐(0) 编辑