Real-World Refactoring: Switch Statement to a Class Hierarchy https://www.danylkoweb.com/Blog/real-world-refactoring-switch-statement-to-a-class