啥是門面模式?
按照我的理解就是:給一系列子對象或者系統提高一個統一的接口
在使用過程中該接口把客戶端發送來的要求傳遞到各個可能的子系統中去。
一句話:門面模式是為了簡化客戶端操作而產生的
一個簡單的例子是:
之前我要看電視,只需要打開電視機即可
但是現在有了機頂盒這個東西,要看電視需要2個步驟:打開電視機,打開機頂盒,反而繁瑣了。
做個夢,如果一天我想看電視我只要說一句-我要看電視,然後自動打開電視機和機頂盒。那該多好。
可以看出,在實際開發過程中,對於那些沒有學過設計模式滴淫,他們也可能使用過該模式,只不過不知道名字罷了
門面模式的一個例子:
很簡單滴:
class A;
class B;
class C;
class Op
{
A* a;
B* b;
C* c;
void Call()
{
a->Call();
b->Call();
c->Call();
}
}
注意這裡A,B,C不具有共同基類
不管什麼模式,都是為了應用服務的,如果但是將復雜化,高深化,那是不可取的。想想當時買了設計模式一書,看的稀裡糊塗的。
PS:門面模式=簡化客戶端操作(統一包裝)