學習更多設計模式請參考:入門設計模式之彙總篇 外觀模式:外部系統與子系統的通信必須通過一個統一的對象進行 舉個例子,現在結婚是不是都找婚慶公司啊,為什麼呢?因為如果不找婚慶公司自己籌備的話,我們可能得自己跑去訂酒店,自己去找主持人,自己去找攝像,自己去找車隊。是不是太麻煩了點,而有了婚慶公司就不一樣 ...
學習更多設計模式請參考:入門設計模式之彙總篇
外觀模式:外部系統與子系統的通信必須通過一個統一的對象進行
舉個例子,現在結婚是不是都找婚慶公司啊,為什麼呢?因為如果不找婚慶公司自己籌備的話,我們可能得自己跑去訂酒店,自己去找主持人,自己去找攝像,自己去找車隊。是不是太麻煩了點,而有了婚慶公司就不一樣了,我可以吩咐他去找酒店,找主持人等等。。。
來看一下類圖:
- 在這裡Facade就相當於婚慶公司的角色,我們作為client直接調用Facade的方法,而不關心車隊、酒店、主持人等是如何找到的。
代碼實現:
public class Car {
public void carList() {
System.out.println("-----");
}
}
public class Host {
public void married() {
System.out.println("-----");
}
}
public class Hotel {
public void party() {
System.out.println("-----");
}
}
public class Facade {
private Host host =new Host();
private Hotel hotel =new Hotel();
private Car car=new Car();
public void married(){
host.married();
}
public void carList(){
car.carList();
} public void party(){
hotel.party();
}
}
本文出自https://zhixiang.org.cn/#/blog/read/f4d2fba7-c5a4-42fd-a54a-203f8ebeb4b9,轉載請保留。