享元模式,对可以共享的属性对象进行共享,无法共享的属性独立存储。
class Obj:
def __init__(self, value):
self.content = value
def __str__(self):
return self.content
class Share(object):
def __init__(self):
super().__init__()
self.dct = {}
def __getitem__(self, item):
return self.dct.get(item, None)
def __setitem__(self, key, value):
self.dct[key] = value
def main():
share = Share()
share['one'] = Obj("a")
share['two'] = Obj("b")
share['one'] = Obj("c")
one = share['one']
print(str(one))
if __name__ == '__main__':
main()
享元模式是一种有效的性能优化手段,通过共享大量相似对象的可变部分,减少内存中对象的数量,从而降低内存使用。在Python中,我们可以利用这种模式来提高程序效率,特别是在处理大量对象时。该模式的关键在于区分内蕴状态(不可共享)和外蕴状态(可共享),将外蕴状态存储在外围,内蕴状态保存在享元对象中,实现对象的复用。
233

被折叠的 条评论
为什么被折叠?



