您的位置:首页 > 编程语言 > Java开发

Java设计模式-----Facade外观模式

2008-06-05 12:12 555 查看
Facade外观模式:

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

例子:

1.DrawerOne.java

publicclassDrawerOne{

    publicvoidopen(){
        System.out.println("第一个抽屉被打开了");
        getKey();
    }

    publicvoidgetKey(){
        System.out.println("得到第二个抽屉的钥匙");
    }
}

2.DrawerTwo.java
publicclassDrawerTwo{

publicvoidopen(){

System.out.println("第二个抽屉被打开了");

getFile();

}

publicvoidgetFile(){

System.out.println("得到这个重要文件");

}

}

则通常为了拿到“重要文件”需要如下代码实现:

publicclassClient{

publicstaticvoidmain(String[]args){

DrawerOnedarwerOne=newDrawerOne();

DrawerTwodarwerTwo=newDrawerTwo();

darwerOne.open();

darwerTwo.open();

}

}

但是如果使用Facade外观模式,可新建一个Facade类:

publicclassDrawerFacade{

DrawerOnedarwerOne=newDrawerOne();

DrawerTwodarwerTwo=newDrawerTwo();

publicvoidopen(){

darwerOne.open();

darwerTwo.open();

}

}

则此时调用的代码修改为:

publicclassClient{

publicstaticvoidmain(String[]args){

DrawerFacadedrawer=newDrawerFacade();

drawer.open();

}

}

参考自:http://www.blogjava.net/flustar/archive/2007/11/23/facade.html


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: