外观模式隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。
外观模式的实现
假设我们解决一个问题需要经过设计、建模、运行三个阶段,我们使用外观模式来隐藏这三个阶段,只给用户提供一个解决问题的接口。
1. 创建设计类
//设计
public class Design {
public void design(){
System.out.println("一:设计");
}
}
2. 创建模型类
//建模
public class Model {
public void model(){
System.out.println("二:建模");
}
}
3. 创建运行类
//运行
public class Run {
public void run(){
System.out.println("三: 运行");
}
}
4. 创建外观类
public class Facade {
private Design design = new Design();
private Model model = new Model();
private Run run = new Run();
public void method(){
design.design();
model.model();
run.run();
System.out.println("问题解决了");
}
}
5. 使用外观类解决问题
public class FacadeMain {
public static void main(String[] args) {
Facade facade = new Facade();
facade.method();
}
}