常用的設(shè)計(jì)模式有哪幾種?
模式分為三種,設(shè)計(jì)模式、體系結(jié)構(gòu)模式與慣用法。其中慣用法是一種語(yǔ)言緊密相關(guān)的模式,例如,定界加鎖模式其實(shí)是一種慣用法。在C#項(xiàng)目開(kāi)發(fā)過(guò)程中,很多情況下您已經(jīng)使用了某些模式,但或許您并不知道自己所使用的這種解決方案是一種已經(jīng)被總結(jié)歸納的模式。工廠(chǎng)、策略、橋接、模板方法、代理等等23種Gof經(jīng)典模式是屬于設(shè)計(jì)模式,設(shè)計(jì)模式的粒度相對(duì)較小,基本上用于提高模塊內(nèi)部的可擴(kuò)展性和可維護(hù)性需求層、MVC、IoC/DI等屬于體系結(jié)構(gòu)模式,粒度比設(shè)計(jì)模式大,它是從項(xiàng)目的整體角度去看項(xiàng)目的架構(gòu)。設(shè)計(jì)需要合理性,架構(gòu)同樣追求合理性,這就是架構(gòu)模式的用途。C#的經(jīng)典樣例petshop中,采用分層思想構(gòu)架了整個(gè)網(wǎng)站,這里的分層就是體系結(jié)構(gòu)模式;而在數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)層,則采用工廠(chǎng)模式來(lái)泛化數(shù)據(jù)庫(kù)操作,使得業(yè)務(wù)層不需要關(guān)心您現(xiàn)在的數(shù)據(jù)庫(kù)是SQLserver的,還是oracle的。這就是設(shè)計(jì)模式的使用。模式應(yīng)用不是一兩句話(huà)能夠說(shuō)清楚的,也不是一天兩天能夠體會(huì)的,需要樓主慢慢體會(huì)與學(xué)習(xí)。