結(jié)構(gòu)模式有7個(gè)小模式,下面分別說(shuō)一下它們的思想:
1、門(mén)面模式(
Facade)也稱(chēng)外觀模式
為子系統(tǒng)提供統(tǒng)一的接口,這個(gè)接口就叫門(mén)在了,客戶(hù)只需與門(mén)面來(lái)的交道,內(nèi)部調(diào)用那個(gè)功能模塊對(duì)客戶(hù)類(lèi)來(lái)說(shuō)是隱藏的。現(xiàn)實(shí)生活中去醫(yī)院看病撿藥的例子是一樣的。
2、代理模式(
Proxy)
有兩種方式一種是靜態(tài)代理,另一種是動(dòng)態(tài)代理。代理模式就是為其它對(duì)象提供代理以控制對(duì)這個(gè)對(duì)象的訪(fǎng)問(wèn)。
3、適配器模式(
Adapter)
將兩個(gè)不兼容的類(lèi)糾合在一起使用,使用這個(gè)模式時(shí),最好以面向接口的方式實(shí)一,而不用繼承。這是一個(gè)比較好理解的模塊,不需要看例程就應(yīng)該能回憶起它的結(jié)構(gòu)。
4、組合模式(Composite)
將對(duì)象以樹(shù)的形式組合起來(lái),以達(dá)成整體與部份的結(jié)構(gòu)。并在類(lèi)中提供添加,刪除,遍歷這三個(gè)方法。通常以操象類(lèi)為父類(lèi)來(lái)實(shí)現(xiàn)。
5、油漆工模式(Decorator)
說(shuō)白了就是給一個(gè)類(lèi)再添加些功能,通常可以在設(shè)計(jì)中可以使用繼承,再實(shí)現(xiàn)個(gè)接口。該模式可以避免這樣做,實(shí)一方法是在實(shí)現(xiàn)接口的類(lèi)方法中,添中一些額外功能函數(shù)。
6、橋接模式(Bridge)
將操象與行為分離。
7、享元模式(Flyweight)
說(shuō)白了就是一個(gè)Map 用來(lái)存儲(chǔ)對(duì)象時(shí),先判斷Map中是否有該對(duì)象,如果有就不需再存進(jìn)。或者要從別的地方聯(lián)一個(gè)對(duì)象時(shí),先在Map里找,如果找到就不用去別的地方了。有點(diǎn)類(lèi)似于一個(gè)池。具體實(shí)現(xiàn)就不說(shuō)了
posted on 2007-09-22 14:58
有貓相伴的日子 閱讀(330)
評(píng)論(1) 編輯 收藏 所屬分類(lèi):
Patterns