外觀模式又叫作門面模式,是一種通過為多個復雜的子系統提供一個一致的介面,而使這些子系統更加容易被訪問的模式,該模式對外有一個統一介面,外部應用程式不用關心內部子系統的具體細節,這樣會大大降低應用程式的復雜度,提高了程式的可維護性,
本質就是化零為整;引入一個中介類,把各個分散的功能組合成一個整體,只對外暴露一個統一的介面,為了用戶使用方便,把過度拆分的分散功能,組合成一個整體,對外提供一個統一的介面

舉個例子:比如想裝修房子,需要刷墻,裝水電,貼地板磚,若是找一個裝修公司,所有的程序都由裝修公司來完成,此時裝修公司就是外觀角色,代碼如下:
public class BrushWall {
public void task(){
System.out.println("給墻刷漆");
}
}
public class PlumberAndElectrician {
public void task(){
System.out.println("裝修房子的水電");
}
}
public class TilingWorker {
public void task(){
System.out.println("貼地板磚");
}
}
public class DecorationCompany {
private BrushWall brushWall;
private PlumberAndElectrician plumberAndElectrician;
private TilingWorker tilingWorker;
public DecorationCompany(){
brushWall=new BrushWall();
plumberAndElectrician=new PlumberAndElectrician();
tilingWorker=new TilingWorker();
}
public void decorationHouse(){
brushWall.task();
plumberAndElectrician.task();
tilingWorker.task();
}
}
public class Test {
public static void main(String[] args) {
DecorationCompany decorationCompany = new DecorationCompany();
decorationCompany.decorationHouse();
}
}
輸出:
給墻刷漆
裝修房子的水電
貼地板磚
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/264823.html
標籤:java
上一篇:歸并排序
下一篇:列印六芒星
