Related Object-Oriented Design
Design a Multi-Device Smart Home Controller
Design an application that controls multiple smart-home device types (e.g., fan, TV) supporting generic ON/OFF commands common to all devices plus device-specific commands, extensibly.