|
查看: 882|回复: 0
|
mediator pattern
[复制链接]
|
|
|
以下是mediator pattern 的 sample (python). 更多的details可以在http://en.wikipedia.org/wiki/Mediator_pattern找寻.
class mediator(object)
def send(self,socket,msg):
pass
class ConcreteMediator(mediator):
def setSocket1(self,socket):
self.m_ConcreateSocket1= socket
def setSocket2(self,socket):
self.m_ConcreateSocket2= socket
def send(self,socket,msg):
if (socket==self.m_ConcreateSocket1):
self.m_ConcreateSocket2.notify(msg)
else:
self.m_ConcreateSocket1.notify(msg)
class Socket(object):
def __init__(self,mediator):
self.m_mediator = mediator
class ConcreateSocket1(Socket):
def __init__(self,mediator):
self.m_mediator=mediator
def send(self,msg):
self.m_mediator.send(self,msg)
def notify(self,msg):
print "S1 :receive msg from socket2 %s" %msg
class ConcreateSocket2(Socket):
def __init__(self,mediator):
self.m_mediator=mediator
def send(self,msg):
self.m_mediator.send(self,msg)
def notify(self,msg):
print "S2 :receive msg from socket1 %s" %msg
'''
test
'''
m = ConcreteMediator()
s1 = ConcreateSocket1(m)
s2 = ConcreateSocket2(m)
m.setSocket1(s1)
m.setSocket2(s2)
s1.send("test1")
s2.send("test2") |
|
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|