Слишком много операторов if

У меня есть тема для обсуждения. У меня есть фрагмент кода с 24ifs /elifs.Operation мой собственный класс, который представляет собой функциональность, аналогичнуюEnum.
Вот фрагмент кода:

if operation == Operation.START:
    strategy = strategy_objects.StartObject()
elif operation == Operation.STOP:
    strategy = strategy_objects.StopObject()
elif operation == Operation.STATUS:
    strategy = strategy_objects.StatusObject()
(...)

У меня есть проблемы с точки зрения читабельности. Лучше всего поменять его на 24 класса и использоватьполиморфизм? Я не уверен, что это сделает мой код обслуживаемым ... С одной стороны, теifс довольно ясно, и это не должно быть трудно следовать, с другой стороны, есть слишком многоifs.

Мой вопрос довольно общий, однако я пишу код на Python, поэтому я не могу использовать такие конструкции, какswitch.

Как вы думаете?

ОБНОВИТЬ:

Одна важная вещь заключается в том, чтоStartObject(), StopObject() а такжеStatusObject() являются конструкторами, и я хотел назначить объектstrategy ссылка.

Ответы на вопрос(6)

Ваш ответ на вопрос