如何解决如何将单例和工厂设计模式与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 举报,一经查实,本站将立刻删除。