Я думал о объектно-ориентированном дизайне сегодня, и мне было интересно, следует ли избегать операторов. Я думал, что в любом случае, когда вам нужен оператор if, вы можете просто создать два объекта, реализующих один и тот же метод. Две реализации метода были бы просто двумя возможными ветвями исходного утверждения if.
Я понимаю, что это кажется экстремальным, но кажется, что вы можете попытаться в какой-то мере спорить. Любые мысли об этом?
ИЗМЕНИТЬ
Ничего себе это не заняло много времени. Я полагаю, это слишком экстремально. Можно ли сказать, что при ООП вы должны ожидать меньше, если заявления?
SECOND EDIT
Что об этом: объект, который определяет реализацию своего метода на основе его атрибутов. То есть вы можете реализовать someMethod()
двумя способами и указать некоторые ограничения. В любой момент объект будет маршрутизироваться к правильной реализации метода на основе его свойств. Поэтому в случае if(x > 5)
есть только два метода, которые полагаются на атрибут x