class Factory:
def get_singleton(self, class_name):
if class_name not in Factory.__dict__:
new_instance = self.get_new_instance(class_name)
new_attribute = self.get_attribute_name_from_class_name(class_name)
Factory.__setattr__(Factory, new_attribute, new_instance)
return Factory.__getattribute__(new_attribute)
Je fais une classe de fabrique d'objets et dans ma fonction get_singleton ci-dessus, j'ai cette ligne:propriétés singleton nommés de façon dynamique à travers les instances en python
Factory.__setattr__(Factory, new_attribute, new_instance)
Les docs disent que setattr veut une instance pour le premier paramètre, mais je voudrais être en mesure de mettre en place des propriétés dynamiquement nommées à travers les instances. De cette façon, la prochaine fois que j'appellerai la fonction get_singleton, elle retournera la même instance que j'ai créée lors des appels précédents. Je veux être capable de créer des propriétés singleton dynamiquement nommées entre instances.
Voici comment j'appelle cette fonction de l'extérieur:
manager = Factory().get_singleton('Manager')
Est-il possible de le faire en python?
Merci