История изменений
Исправление qaqa, (текущая версия) :
можно сделать так
А зачем? Это странно.
Я имел в виду что метод
@classmethod
def from_data(cls, op_code: OpCode, data: io.BytesIO) -> 'BaseOp':
return _OP_CLASSES_BY_CODE[op_code]._from_data(data)
должен быть или методом класса-фабрики, или просто функцией внешней.
class OpFactory:
def from_data(self, op_code: OpCode, data: io.BytesIO) -> 'BaseOp':
return _OP_CLASSES_BY_CODE[op_code].from_data(data)
Ну и про _from_data - по идее без опкода ты не можешь (не должен) знать что там тебе пришло
Какая разница, что там с опкодом? Опкод тебе дает какие-то гарантии особые? :) Считай, что пользователь класса всегда знает какой там опкод. Или какой-тип сообщения.
Исходная версия qaqa, :
можно сделать так А зачем? Это странно.
Я имел в виду что метод
@classmethod
def from_data(cls, op_code: OpCode, data: io.BytesIO) -> 'BaseOp':
return _OP_CLASSES_BY_CODE[op_code]._from_data(data)
должен быть или методом класса-фабрики, или просто функцией внешней.
class OpFactory:
def from_data(self, op_code: OpCode, data: io.BytesIO) -> 'BaseOp':
return _OP_CLASSES_BY_CODE[op_code].from_data(data)
Ну и про _from_data - по идее без опкода ты не можешь (не должен) знать что там тебе пришло
Какая разница, что там с опкодом? Опкод тебе дает какие-то гарантии особые? :) Считай, что пользователь класса всегда знает какой там опкод. Или какой-тип сообщения.