微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将单例和工厂设计模式与python结合?

如何解决如何将单例和工厂设计模式与python结合?

假设有数个出版社,每个出版社出版了很多书 我将处理许多记录,例如“出版社名称,书名”

我想通过唯一的名称(字符串)创建类“ Press”,但是只有不同的字符串才能产生类“ Press”的不同实例。

所以,我需要像“工厂”这样的类工作,当记录包含新的印刷机时创建一个新实例,但是如果已经存在具有相同名称的记录,它也可以作为单例工作。

解决方法

您可以创建一个具有唯一名称作为键的字典,并按Press对象作为值。这不必是一个全球性的命令。您可以将其包装在这样的类中:

Disposable establishConnectionDisposable = bleManager
                .establishConnection(mMacAddress)
                .subscribe(aBoolean -> bleManager.readServices(mMacAddress),throwable -> {
                    Log.e(TAG,throwable.toString());
                    onBackPressed();
                });
mCompositeDisposable.add(establishConnectionDisposable);

我将class Press: def __init__(self,name): self.name = name self.books = [] class PressManager: presses = {} @classmethod def get_press(cls,name): if name not in cls.presses: cls.presses[name] = Press(name) return cls.presses[name] example_press = PressManager.get_press("Test") 实现为类方法,因为我认为这是您要记住的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。