2006-12-7 星期四
設(shè)計模式,構(gòu)建型模式最后一個:Singleton單件模式
保證一個類只有一個實例存在,方法是隱藏構(gòu)造方法,在類的內(nèi)部構(gòu)造一個靜態(tài)的實例,然后建一個靜態(tài)方法返回這個實例,其中一個知識點(diǎn)是,靜態(tài)變量是在main方法執(zhí)行前初始化的,也就是在程序運(yùn)行前初始化的。
結(jié)構(gòu)性模式:適配器模式Adapter,橋接模式Bridge,組合模式Composite,裝飾模式Dectorator,外觀模式Fa ade,享元模式FlyWeight,代理模式Proxy。
Adapter模式,是多重繼承的一種替代方法,通過繼承一個類,組合一個類,來實現(xiàn)。
Bridge模式,將要執(zhí)行的業(yè)務(wù)方法抽象出來,建立一個橋接接口,通過實現(xiàn)該接口用于不同的業(yè)務(wù),然后使用該實現(xiàn)類。
Composite模式,多個相同的對象要調(diào)用它們的一個方法,單獨(dú)寫一個類,里面有個該對象的類的類型的集合,里面裝有許多對象,有個方法,利用循環(huán)依次調(diào)用每個對象的方法,宗旨是讓類的使用者更方便。
Dectorator模式,避免過深繼承的一種方式,目前有一個類,但業(yè)務(wù)需求改變導(dǎo)致這個類有少許變化,如果繼承這個類,將導(dǎo)致無限制繼承,辦法是建立一個這個類的兄弟,實現(xiàn)新的業(yè)務(wù)需求,然后調(diào)用兄弟的方法。
Fa ade模式,用于業(yè)務(wù)操作十分復(fù)雜,為了實現(xiàn)對復(fù)雜性的封裝,建立一個類,建立一個面向外界的接口,類的使用者只需調(diào)用該接口就搞定了,而背后復(fù)雜的邏輯不必去關(guān)心。
FlyWeight模式,跟單件模式有類似之處,都是為了減少重復(fù)對象的創(chuàng)建,這個模式是,建立一個緩存,將已建立的對象放入緩存,當(dāng)再次需要的時候在緩存中查找是不是已經(jīng)存在了該對象,如果存在,直接返回,否則創(chuàng)建,這樣節(jié)省了內(nèi)存空間,這樣的適用于有許多的小型對象的適用。
Proxy模式,用于不同用戶有不同操作權(quán)限的類似情況,有一個類負(fù)責(zé)業(yè)務(wù)邏輯的執(zhí)行并不負(fù)責(zé)用戶是否具有權(quán)限的判斷,這件任務(wù)由另一個類負(fù)責(zé)。
以上設(shè)計模式的理解,用自己的話寫了一下,希望加深理解。
明天可能要給大家講第三章,得好好準(zhǔn)備準(zhǔn)備,爭取完美,嘻嘻。