This project implements a home theater system, showcasing the application of the Facade Design Pattern. The home theater system comprises several components, including a DVD player, projector, screen, amplifier, and speakers. The Facade pattern simplifies user interaction by providing a unified interface to control the entire home theater system, abstracting away the complexities of individual components.
- Responsible for playing DVDs.
- Projects video onto a screen.
- Displays the video content.
- Amplifies audio signals.
- Output audio.
Controlling each component individually can be complex. Users would need to understand the details of turning on/off, setting up input sources, adjusting volume, etc., for each component.
- Acts as a unified interface.
- Users interact with the home theater system through the facade.
- Facade internally coordinates actions with individual components.
- Simplicity: Users don't need to worry about intricate details of each component.
- Abstraction: The facade provides a clear abstraction layer, simplifying user interactions and managing the complexities of the underlying subsystem.
- Clone this repository.
- Navigate to the project directory.
- Open the code in your preferred C++ development environment.
- Build and run the code.
- Provide movie name as input.
- Press 'q' to end the movie.