外观模式实现

外观模式实现步骤

  1. 理清现有的被调用的外部子系统中的方法。

  2. 建立一个外观角色类,定义一个方法,将所有被引用子系统中的方法整理。

  3. 对客户端提供外观角色类,供客户端调用。

案例

我们需要创建一个 net.haicoder.facade 包,在该包下面创建 FlightResource.javaInsuranceResource.javaOrderCreate.javaTestMain.java 文件。

文件创建完毕,目录结构如下图:

14 外观模式代码结构图.png

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(); } }

程序运行后,控制台输出信息如下:

15 外观模式代码运行结果图.png

外观模式总结

设计模式中外观模式的结构比较简单,主要是定义了一个高层接口。它包含了对各个子系统的引用,客户端可以通过它访问各个子系统的功能。现在来分析其基本结构和实现方法。