外观模式Facade

外观模式(Facade):又称门面模式,是给子系统或客户端一个一致的界面,从面定义一个高层的接口,这个接口使得子系统或客户端更加容易使用。从而降低了子系统或客户端调用不同接口带来的复杂性。

如图:

未使用外观模式:


外观模式Facade
  

 网上一例:简单意思是打开第一个抽屉取得第二个抽屉的钥匙,然后打开第二个抽屉取得文件。

 实现:

     public  class DrawOne{

         public void open(){

            //第一个抽屉打开

            //取得钥匙

         }

     }

 

    public class  DrawTwo{

        pubic void open(){

            //打开第二个抽屉

            //取得文件

        }

    }

 

    //调用

    main(){

       DrawOne one=new DrawOne();

       DrawTwo two=new  DrawTwo();

       one.open();

       two.open();

    }

 

使用外观模式:

 
外观模式Facade
 //门面

public class DrawFacade{

      DrawOne one=new DrawOne();

      DrawTwo two=new  DrawTwo();

      

      public void open(){

          one.open();

          two.open();

      }

}

 

//调用

main(){

   DrawFacade facade=new DrawFacade();

   facade.open();

}

 

使用场景:

 

1、在复杂系统的设计时,如果一个系统需要访问数个其他的系统或者几个系统间的相互访问,这是就可以使用一个中间平台或系统进行一个统一的管理,这样减小的系统间的耦合,同时也可以减少处理对象的数目。

 

2、在程序中在很多地方需要调用相同代码,这时就可以提供一个统一的接口,这样就减少代码依赖关系。

 

3、比如一些系统为了安全性或者网络原因,他会提供一个中间平台进行统一,这个平台就相当于一个门面。

你可能感兴趣的:(设计模式)