Facade Design Pattern: Netflix Movie Night

📘 Scenario:

You’ve set up your brand-new home theater system, complete with a 📺 TV, 🔊 sound system, 💡 smart lights, and a 🎥 DVD player. Excited for movie night, you realize that before you can even press play, there’s a whole checklist to go through. First, you need to turn on the TV and set the input to HDMI. Then, you power up the sound system and adjust the volume to the perfect level. Next, you dim the lights to create that cinematic atmosphere. Finally, you start the DVD player. It’s a lot of steps for something as simple as watching a movie — wouldn’t it be better if there was one button that did it all?

To watch a movie, you must:

  1. Turn on the TV
  2. Set input to HDMI
  3. Turn on the sound system
  4. Adjust volume
  5. Dim the lights
  6. Start the DVD player

UML Diagram:

UML Diagram of Facade Home Theater System

Output:

Get ready to watch a movie...
Lights dimmed
TV turned on
TV input set to HDMI
Sound system on
Volume set to 10
DVD Player on
Playing movie: Avengers: Endgame

Shutting down the theater...
  
🔗 View Code on GitHub

🎬 Movie Night: Avengers Endgame

Avengers Endgame Poster
[System Ready] Press "Watch Movie" to begin.