中介者模式 python

时间:2015-05-21 19:35:47   收藏:0   阅读:134


class Infantry( object ):
    def __init__( self, mediator, name ):
        self.name = name
        self.mediator = mediator    

    def send( self, msg ):
        self.mediator.send( msg, self )

    def notify( self, msg ):
        print self.name + " get infomation: " + msg


class AirForce( object ):
    def __init__( self, mediator, name ):
        self.name = name
        self.mediator = mediator

    def send( self, msg ):
        self.mediator.send( msg, self )

    def notify( self, msg ):
        print self.name + " get infomation: " + msg


class Mediator( object ):
    
    soliders = []
    
    def send( self, msg, solider ):
        for s in self.soliders:
            if s != solider:
                s.notify( msg )

    def register( self, solider ):
        self.soliders.append( solider )
            

m  = Mediator()
t1 = Infantry( m, "Infantry-1" )
t2 = AirForce( m, "AirForce-1" )
t3 = AirForce( m, "AirForce-2" )

m.register( t1 )
m.register( t2 )
m.register( t3 )

t1.send( "I have found killer" )
t2.send( "Look at him" )
t3.send( "Be careful" )


原文:http://blog.csdn.net/pandora_madara/article/details/45895005

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!