模式的定義 門面模式(Facade Pattern)也叫做外觀模式,是一種比較常用的封裝模式,其定義如下:要求一個子系統的外部與其內部通信必須通過一個統一的對象進行。門面模式提供一個高層次的介面,使得子系統更易於使用。 門面模式註重“統一的對象”,也就是提供一個訪問子系統的介面,除了這個介面,不允許 ...
模式的定義
門面模式(Facade Pattern)也叫做外觀模式,是一種比較常用的封裝模式,其定義如下:要求一個子系統的外部與其內部通信必須通過一個統一的對象進行。門面模式提供一個高層次的介面,使得子系統更易於使用。
門面模式註重“統一的對象”,也就是提供一個訪問子系統的介面,除了這個介面,不允許有任何訪問子系統的行為發生
模式的結構
外觀(Facade)模式包含以下主要角色。
1.外觀(Facade)角色:為多個子系統對外提供一個共同的介面。
2.子系統(Sub System)角色:實現系統的部分功能,客戶可以通過外觀角色訪問它。
3.客戶(Client)角色:通過一個外觀角色訪問各個子系統的功能。
其結構圖如下:
模式的實現
子系統:
public class ClassA{
public void doSomethingA(){
// 業務邏輯
}
}
public class ClassB{
public void doSomethingB(){
// 業務邏輯
}
}
public class ClassC{
public void doSomethingC(){
// 業務邏輯
}
}
門面對象:
public class Facade{
//被委托的對象
private ClassA a = new ClassA();
private ClassB b = new ClassB();
private ClassC c = new ClassC();
//提供給外部訪問的方法
public void methodA(){
this.a.doSomethingA();
}
public void methodB(){
this.b.doSomethingB();
}
public void methodC(){
this.c.doSomethingC();
}
}