PPT_python设计模式_观察者模式

    PPT_python设计模式_观察者模式

 1、结构

     身份类 --Id()

     行为类 --Act()  可以和身份类何在一起

    将以上类中的相同方法抽象出来组合到一个统一类中抽象类。

    中间功能类 比如观察者模式中的观察者类

2、将人物生成对象

    

3、设置故事环境

     各个人物或事件关联。

     比如这里boss来了,观察者就会通知。

4、让环境动起来。

总结:1人物事件 2关联3设置场景环境 4让环境执行起来

class Boss(object):
    def action(self):
        print "boss act-------------------"

class EmIdentity():
    def __init__(self,name,actions):
        self.name = name
        self.actions = actions
    def working(self):
        print "{} is {}".format(self.name,self.actions)
class Emplyee1(EmIdentity):
    def __init__(self,name,actions):
        super(Emplyee1,self).__init__(name,actions)

class Emplyee2(EmIdentity):
    def __init__(self,name,actions):
        super(Emplyee2,self).__init__(name,actions)

class Observers(object):
    def __init__(self):
        self.obser = []
    def attach(self,obj):
        self.obser.append(obj)
    def notify(self):
        for o in self.obser:
            o.working()

boss = Boss()
e1 = Emplyee1("wenyuan","reading")
e2 = Emplyee2("process","coding")
ob = Observers()
ob.attach(e1)
ob.attach(e2)

boss.action()
ob.notify()

  

  

posted on 2018-07-29 22:22  lexn  阅读(132)  评论(0)    收藏  举报

导航