啥是門面模式?
按照我的理解就是:給一系列子對象或者系統(tǒng)提高一個(gè)統(tǒng)一的接口
在使用過程中該接口把客戶端發(fā)送來的要求傳遞到各個(gè)可能的子系統(tǒng)中去。
一句話:門面模式是為了簡化客戶端操作而產(chǎn)生的
一個(gè)簡單的例子是:
之前我要看電視,只需要打開電視機(jī)即可
但是現(xiàn)在有了機(jī)頂盒這個(gè)東西,要看電視需要2個(gè)步驟:打開電視機(jī),打開機(jī)頂盒,反而繁瑣了。
做個(gè)夢,如果一天我想看電視我只要說一句-我要看電視,然后自動(dòng)打開電視機(jī)和機(jī)頂盒。那該多好。
可以看出,在實(shí)際開發(fā)過程中,對于那些沒有學(xué)過設(shè)計(jì)模式滴淫,他們也可能使用過該模式,只不過不知道名字罷了
門面模式的一個(gè)例子:
很簡單滴:
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不具有共同基類
不管什么模式,都是為了應(yīng)用服務(wù)的,如果但是將復(fù)雜化,高深化,那是不可取的。想想當(dāng)時(shí)買了設(shè)計(jì)模式一書,看的稀里糊涂的。
PS:門面模式=簡化客戶端操作(統(tǒng)一包裝)