Цитата:
Сообщение от
ta_and
Код в месте, откуда происходит вызов наследников все равно придется менять, так как туда нужно будет передать новый добавленный атрибут для вызова нового наследника.
Нет, не надо будет - надо будет добавить новое значение атрибута и не туда где он вызывается. А, навпример, в BaseEnum.
Цитата:
Я не говорю о полиморфизме.
Я говорю именно о месте, где производится инициализация объекта нового класса.
В этом месте и в этот момент должно быть однозначно известно, какой наследник будет создан. И что это будет определять - атрибут или свич - совершенно все равно. Вопрос - зачем атрибут, если можно через свич легко и просто?
Чтобы при мердже кода не мержить свитч.