Python命令模式

2017-03-19  本文已影响17人  虾想家

命令模式,同一事件监听者不同,反应自然不同。

class Command(object):
    def __init__(self, listener):
        self.listener = listener

    def invoke(self):
        self.listener.do()


class ListenerA(object):
    def __init__(self):
        pass

    def do(self):
        print("work_a")


class ListenerB(object):
    def __init__(self):
        pass

    def do(self):
        print("work_b")


def main():
    listener_a = ListenerA()
    listener_b = ListenerB()
    command = Command(listener_a)
    command.invoke()
    command_same = Command(listener_b)
    command_same.invoke()


if __name__ == '__main__':
    main()
上一篇 下一篇

猜你喜欢

热点阅读