问题描述
假设有数个出版社,每个出版社出版了很多书 我将处理许多记录,例如“出版社名称,书名”
我想通过唯一的名称(字符串)创建类“ 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")
实现为类方法,因为我认为这是您要记住的。