Applying Design Patterns in a Smart Home System | CodeSignal Learn