デザインモード(八)--外観モード
詳細
外観モード:サブシステムの多くのインタフェースにアクセスするための統一されたインタフェースを提供し、外観は上位インタフェースを定義し、サブシステムをより使いやすくします.
意図:インタフェースをより簡単にします.
外観モード:サブシステムの多くのインタフェースにアクセスするための統一されたインタフェースを提供し、外観は上位インタフェースを定義し、サブシステムをより使いやすくします.
意図:インタフェースをより簡単にします.
public interface Light {
void on();
void off();
void dim();
}
public interface Screen {
void up();
void down();
}
public interface DvdPlayer {
void on();
void off();
void pause();
}
/**
*
* Created by Administrator on 2018/1/9.
*/
public class HomeTheaterFacade {
private Screen screen;
private DvdPlayer dvdPlayer;
private Light light;
public HomeTheaterFacade(Screen screen, DvdPlayer dvdPlayer, Light light) {
this.screen = screen;
this.dvdPlayer = dvdPlayer;
this.light = light;
}
/**
* ,
* ,
* **/
public void watchMovie(){
screen.down();
dvdPlayer.on();
light.dim();
}
public void endMovie(){
screen.up();
dvdPlayer.off();
light.on();
}
}
public class TestFacade {
public static void main(String[] args) {
// screen ,light
HomeTheaterFacade homeTheaterFacade = new HomeTheaterFacade(screen,dvdplayer,light);
homeTheaterFacade.watchMovie();
homeTheaterFacade.endMovie();
}
}