擅长:python、mysql、java
<p>我认为您可以使用Multiton模式(这里使用Multiton decorator)来避免全局可变州。在这个例子中,类“MyClass”本身的行为就像它的Multiton一样</p>
<p><a href="https://i.stack.imgur.com/nXIt0.png" rel="nofollow noreferrer">Multiton</a></p>
<p/><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
;
<div^{cl2}$
;
<pre class="snippet-code-html lang-html prettyprint-override"><code>def multiton(cls):
instances = {}
def getinstance(name):
if name not in instances:
instances[name] = cls()
return instances[name]
return getinstance
@multiton
class MyClass:
pass
a = MyClass("MyClass0")
b = MyClass("MyClass0")
c = MyClass("MyClass1")
print a is b # True
print a is c # False</code></pre>
;
</div>
;
</div>
;