コード例 #1
0
int main() {
	auto amp = std::make_shared<Amplifier>();
	auto cd = std::make_shared<CdPlayer>();
	auto dvd = std::make_shared<DvdPlayer>();
	auto popper = std::make_shared<PopcornPopper>();
	auto projector = std::make_shared<Projector>();
	auto screen = std::make_shared<Screen>();
	auto lights = std::make_shared<TheaterLights>();
	auto tuner = std::make_shared<Tuner>();

	HomeTheaterFacade theater(amp, tuner, dvd, cd, projector, screen, lights, popper);
	theater.startMovie("Kung Fu Panda");

	theater.endMovie();
}
コード例 #2
0
  void playWithHomeTheaterFacade() {
    // Create all the parts of the home theatre system
    // Not encapsulated or owned by the facade.
    Amplifier amp("Top-O-Line Amplifier");
    CdPlayer cd("Top-O-Line CD Player", &amp);
    DvdPlayer dvd("Top-O-Line DVD Player", &amp);
    Screen screen("My Theater Screen");
    PopcornPopper popper("My Popcorn Popper");
    Tuner tuner("Top-O-Line AM/FM Tuner", &amp);
    TheaterLights lights("Theater Ceiling Lights");
    Projector projector("Top-O-Line Projector");

    HomeTheaterFacade theater(&amp, &tuner, &dvd, &cd, &projector, &lights, &screen, &popper);
    theater.watchMovie("Raiders of the Lost Ark");
    theater.endMovie();
  }