外观模式

应用场景

1)为一个复杂子系统提供一个简单接口。屏蔽了复杂系统的实现的细节,对外提高了更简便的操作

2)提高子系统的独立性。

3)在层次化结构中,可以使用Facade模式定义系统中每一层的入口。

 

/**
 * 子系统1
 * @author Administrator
 *
 */
public class SubSystem1 {
 public void open(){
  System.out.println("打开第一个抽屉");
  getKey();
 }

 private void getKey() {
  System.out.println("得到第二个抽屉钥匙");
 }
}

------------------------------------------------------------------------

/**
 * 子系统2
 * @author Administrator
 *
 */
public class SubSystem2 {
 public void open(){
  System.out.println("打开第二个抽屉");
  getFile();
 }

 private void getFile() {
  System.out.println("得到文件");
 }
}

-------------------------------------------------------------------------

/**
 * 总的系统,对外相当于屏蔽了具体的实现细节,
 * @author Administrator
 *
 */
public class FacadeSystem {
 public void getFile(){
  new SubSystem1().open();
  new SubSystem2().open();
 }
}

------------------------------------------------------------------------------

/**
 * 测试类
 * @author Administrator
 *
 */
public class Test {
 public static void main(String[] args) {
  FacadeSystem facadeSystem = new FacadeSystem();
  facadeSystem.getFile();
 }
}

 

你可能感兴趣的:(外观模式)