单态模式

本文介绍了一个使用Python实现的Borg模式实例。通过该模式,所有对象可以共享公共类变量,从而实现任务池等功能。示例代码展示了如何创建共享状态的对象,并修改其属性。

利用python 的__dict__,让所有的对象共享变量。

改了下,让所有的对象共享 公共类变量,也可以将公共类变量设置为 任务池。


class Pub(object):
    count=0
    state='p_init'


class Borg(object):
    __shard_state={'count':0}
    def __init__(self):
        self.__dict__['pub']=Pub
        self.state='init'
        self.pub.count+=1
        
        #print (self.state)
    def __str__(self):
        return self.state

if __name__=='__main__':
    print (Pub.count)
    rm1=Borg()
    rm2=Borg()
    rm1.state='st'
    rm2.state='st2'
    rm2.pub.state='p2'

    
    print ('rm1:%s'%rm1,rm1.pub.state)
    print ('rm2:%s'%rm2,rm1.pub.state)
    print (Pub.count)

 

转载于:https://my.oschina.net/u/2367514/blog/1791262

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值