设计模式-外观模式

来源:互联网 发布:linux ftp ip地址 编辑:程序博客网 时间:2024/05/22 03:49

1.概念

为子系统中的一组接口提供一个统一接口。Facade模式定义了一个高层接口,这个接口使得这子系统更容易使用。

2.UML

3.代码

下面是一个具体案例的代码:

复制代码
package facade;  class DrawerOne {      public void open(){         System.out.println("第一个抽屉被打开了");         getKey();      }      public void getKey(){         System.out.println("得到第二个抽屉的钥匙");      }  }  class DrawerTwo{      public void open(){         System.out.println("第二个抽屉被打开了");         getFile();      }      public void getFile(){         System.out.println("得到这个重要文件");      }  }  class DrawerFacade{      DrawerOne darwerOne=new DrawerOne();      DrawerTwo darwerTwo=new DrawerTwo();      public void open(){         darwerOne.open();         darwerTwo.open();      }  }  public class DrawerClient{      public static void main(String []args){         DrawerFacade drawer=new DrawerFacade();         drawer.open();      }  }  
复制代码

4.应用场景

1)为一个复杂子系统提供一个简单接口。

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

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