Advanced
SOLID Principles Refactoring
Refactor a provided legacy code snippet to adhere strictly to SOLID principles with pattern implementation.
📝 Prompt Content
Act as a Principal Software Engineer. I will provide a Python code snippet that violates SOLID principles. Your task is to: 1. Identify exactly which principles are violated and where. 2. Rewrite the code to strictly adhere to the Single Responsibility, Open/Closed, and Dependency Inversion principles. 3. Introduce appropriate Design Patterns (such as Factory or Strategy) where applicable to solve the identified issues. 4. Explain the trade-offs of your refactoring choices.