T
Size: a a a
T
СС
T
class MyFactory:условно, если не требуется потокобезопасность. Хочешь - создай один раз фабрику и юзай везде, хочешь - создай две фабрики. Хочешь - для тестов не юзай фабрику вообще
def __init__(self):
self.last_id=0
def create(self):
self.last_id += 1
return SomeObj(self.last_id)
СС
SomeObj должен принимать еще один аргумент в конструктуре. а затем его еще и в инстанс запихиватьСС
T
T
СС
SomeObj который должен продолжить инкрементацию?СС
T
СС
class Class:
version = 0
@classmethod
def up_version(cls):
cls.version += 1
def __init__(self):
self.up_version()
class Child(Class):
passT
T
class SomeObj:
def __init__(self, counter):
counter.increment()
и передавай везде один counterСС
T
T
counter = SomeCounter()
SomeObj(counter)
SomeObj(counter)
Child(counter)T
СС
@classmethod
def reset(cls):
cls.version = 0T