You
Projector
+ on()
Lights
+ dim()
Player
+ play()
Wiring it all yourself
1projector.on();2lights.dim();3player.play(); // you must know every class — in the right order
Give a complex subsystem ONE simple front door — a single class with easy methods that orchestrate all the messy internals for you.
1projector.on();2lights.dim();3player.play(); // you must know every class — in the right order
To watch a movie YOU talk to every subsystem class directly — Projector, Lights, Player. You depend on all three.