Я не могу не сомневаться в том, что использование Дискриминационных Союзов в большой системе нарушает принцип Open/Close.
Я понимаю, что принцип Open/Close является объектно-ориентированным и НЕ функциональным. Однако у меня есть основания полагать, что существует тот же кодовый запах.
Я часто избегаю операторов switch, потому что обычно я вынужден обрабатывать дела, которые изначально не учитывались. Таким образом, мне приходится обновлять каждую ссылку новым случаем и некоторым относительным поведением.
Таким образом, я по-прежнему считаю, что Дискриминационные Союзы имеют тот же кодовый запах, что и switch-statements.
Являются ли мои мысли точными?
Почему заявления переключателей нахмурились, но объявлены Дискриминационные союзы?
Разве мы не сталкиваемся с теми же проблемами обслуживания с использованием Дискриминационных Союзов, поскольку мы делаем switch-statements, поскольку кодовая база развивается или отступает?