The art of turning 6 lines into 92 lines by replacing if-then-else and switch with objects — for the better. — Sure, if-else and switch makes for condense, simple code. But your software should not be comprised of the fewest lines possible, sacrificing readability, maintainability, or flexibility. I see a lot of branching happening over enums, or, other discrete values. Some developers even get aggravated when told not to use if-then-else.