-
外观模式基本介绍
-
外观模式也叫做过程模式:外观模式为子系统 的一组接口提供一个一致的界面 ,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用
-
外观模式通过定义一个一致的接口,用于屏蔽内部子系统的细节,使得调用端和这个接口发生调用,而无需关心这个子系统的内部细节
-
结构型模式
-
-
原外观模式原理类图
-
类图
-
分析
-
外观类(Facade):为调用端提供一个统一的调用接口, 外观类知道哪些子系统负责处理请求,从而将调用端的请求代理给与适当子系统对象
-
调用者(Client):外观接口的调用者
-
子系统的集合:指模块或者子系统,处理Facade对象指派的任务,是功能的实际提供者
-
-
-
通过外观模式解决影院管理
-
代码
public class DVDPlayer{
//使用单例模式中的饿汉式
private static DVDPlayer instance= new DVDPlayer();
private DVDPlayer(){}
public static DVDPlayer getInstance(){
return instance;
}
public void on(){
System.out.println("DVD on");
}
public void off(){
System.out.println("DVD off");
}
public void play(){
System.out.println("DVD is playing");
}
public void stop(){
System.out.println("DVD is stop");
}
}
?
//爆米花机
public clas Popcorn{
//使用单例模式中的饿汉式
private static Popcorn instance= new Popcorn();
private Popcorn(){}
public static Popcorn getInstance(){
return instance;
}
public void on(){
System.out.println("Popcorn on");
}
public void off(){
System.out.println("Popcorn off");
}
public void pop(){
System.out.println("Popcorn is poping");
}
}
//投影仪
public class Projector{
//使用单例模式中的饿汉式
private static Projector instance= new Projector();
private Projector(){}
public static Projector getInstance(){
return instance;
}
public void on(){
System.out.println("Projector on");
}
public void off(){
System.out.println("Projector off");
}
public void focus(){
System.out.println("Projector is focus");
}
}
?
//屏幕
public class Screen{
//使用单例模式中的饿汉式
private static Screen instance= new Screen();
private Projector(){}
public static Screen getInstance(){
return instance;
}
public void up(){
System.out.println("Screen up");
}
public void down(){
-