(转载)Java之外观模式(Facade Pattern)

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模式定义系统中每一层的入口。

原文链接:http://www.cnblogs.com/devinzhang/archive/2012/01/06/2315200.html

原文地址:https://www.cnblogs.com/ysw-go/p/5414456.html