理清现有的被调用的外部子系统中的方法。
建立一个外观角色类,定义一个方法,将所有被引用子系统中的方法整理。
对客户端提供外观角色类,供客户端调用。
我们需要创建一个 net.haicoder.facade
包,在该包下面创建 FlightResource.java
、InsuranceResource.java
、OrderCreate.java
和 TestMain.java
文件。
文件创建完毕,目录结构如下图:
FlightResource.java
文件中代码如下:
package net.haicoder.facade;
public class FlightResource {
public void createFlightResource() {
System.out.println("创建机票资源");
}
}
InsuranceResource.java
文件中代码如下:
package net.haicoder.facade;
public class InsuranceResource {
public void createInsurance() {
System.out.println("创建保险资源");
}
}
OrderCreate.java
文件中代码如下:
package net.haicoder.facade;
public class OrderCreate {
private InsuranceResource insuranceResource = new InsuranceResource();
private FlightResource flightResource = new FlightResource();
public void createOrder() {
insuranceResource.createInsurance();
flightResource.createFlightResource();
}
}
TestMain.java
代码如下:
package net.haicoder.facade;
public class TestMain {
public static void main(String[] args) {
OrderCreate orderCreate = new OrderCreate();
System.out.println("嗨客网(www.haicoder.net)");
orderCreate.createOrder();
}
}
程序运行后,控制台输出信息如下:
设计模式中外观模式的结构比较简单,主要是定义了一个高层接口。它包含了对各个子系统的引用,客户端可以通过它访问各个子系统的功能。现在来分析其基本结构和实现方法。