В этом простом случае Вы могли использовать переключатель.
Иначе основанный на таблице подход выглядит хорошо, это был бы мой второй выбор каждый раз, когда условия являются достаточно регулярными для создания этого применимым, особенно когда количество случаев является большим.
Полиморфизм был бы опцией, если нет слишком многих случаев, и условия и поведение неправильны.
Я наткнулся на этот фантастический список программного обеспечения для компьютерного зрения: http://www.cs.cmu.edu/~cil/v -source.html
И решил посмотреть на эти 2 инструмента более подробно: