外觀模式
GOF對于外觀模式的定義為:為子系統(tǒng)中的一組接口提供一個(gè)一致的界面冬殃。
此模式定義了一個(gè)高層接口囚痴,使得這一子系統(tǒng)更加容易使用。
下面直接上代碼
public class SubA {
public void MethodA()
{
System.out.println("子系統(tǒng)方法A被執(zhí)行");
}
}
public class SubB {
public void MethodB()
{
System.out.println("子系統(tǒng)方法B被執(zhí)行");
}
}
public class SubC {
public void MethodC()
{
System.out.println("子系統(tǒng)方法C被執(zhí)行");
}
}
public class Facade {
private SubA suba;
private SubB subb;
private SubC subc;
public Facade(){
suba = new SubA();
subb = new SubB();
subc = new SubC();
}
public void MethodOne()
{
System.out.println("執(zhí)行第一組方法:");
suba.MethodA();
subb.MethodB();
}
public void MethodTwo()
{
System.out.println("執(zhí)行第二組方法:");
subc.MethodC();
subb.MethodB();
}
}
public class client {
public static void main(String[] args) {
// TODO Auto-generated method stub
Facade facade = new Facade();
facade.MethodOne();
facade.MethodTwo();
}
}
可以通過外觀模式將數(shù)據(jù)層業(yè)務(wù)層等進(jìn)行連接审葬,當(dāng)子系統(tǒng)的設(shè)計(jì)演變的越來越復(fù)雜的時(shí)候深滚,外觀模式也可以就此提供一個(gè)簡單的接口來減少各個(gè)日益復(fù)雜的子系統(tǒng)之間的依賴。
外觀模式適用于以下情況:
- 當(dāng)需要為一個(gè)復(fù)雜的子系統(tǒng)提供一個(gè)簡單的接口時(shí)
- 當(dāng)客戶端與抽象類的實(shí)現(xiàn)部分存在很大的依賴性是
- 當(dāng)需要構(gòu)建一個(gè)層次結(jié)構(gòu)的子系統(tǒng)的時(shí)候涣觉。