天天看點

接口型模式之Facade(外觀)模式

1.如果你期望為一組類提供一個簡單的接口,可使用Facade(外觀)模式。

2.舉例:

2.1uml模型

接口型模式之Facade(外觀)模式

2.2源碼

//模拟第一個操作:打開第一個抽屜
public class DrawerOne {
     public void open(){
         System.out.println("第一個抽屜被打開了");
         getKey();
     }

     public void getKey(){
         System.out.println("得到第二個抽屜的鑰匙");
     }
}
           
//模拟第二個操作:打開第二個抽屜
public class DrawerTwo {
    public void open(){
        System.out.println("第二個抽屜被打開了");
        getFile();
    }

    public void getFile(){
        System.out.println("得到這個重要檔案");
    }
}
           
//采用Facade模式對以上操作進行封裝
public class DrawerFacade {
    private DrawerOne darwerOne=new DrawerOne();
    private DrawerTwo darwerTwo=new DrawerTwo();

    public void open(){
       darwerOne.open();
       darwerTwo.open();
    }
}
           
//Client隻需要通過DrawerFacade類進行複雜操作
public class Client {
    public static void main(String []args){
        DrawerFacade drawer=new DrawerFacade();
        drawer.open();
    }
}
           

3.總結:為子系統中的一組接口提供一個統一接口。Facade模式定義了一個更高層的接口,使子系統更加容易使用。使用一種比原有方式更簡單的辦法與系統互動。外觀類通常是一個可配置、可複用的類。

4.參考:http://www.blogjava.net/supercrsky/articles/202854.html

繼續閱讀