有哪些模式與架構(gòu)?
模式分為三種,設(shè)計(jì)模式、體系結(jié)構(gòu)模式與慣用法。
其中慣用法是一種語言緊密相關(guān)的模式,例如,定界加鎖模式其實(shí)是一種慣用法。在C#項(xiàng)目開發(fā)過程中,很多情況下您已經(jīng)使用了某些模式,但或許您并不知道自己所使用的這種解決方案是一種已經(jīng)被總結(jié)歸納的模式。工廠、策略、橋接、模板方法、代理等等23種Gof經(jīng)典模式是屬于設(shè)計(jì)模式,設(shè)計(jì)模式的粒度相對較小,基本上用于提高模塊內(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ù)庫訪問層,則采用工廠模式來泛化數(shù)據(jù)庫操作,使得業(yè)務(wù)層不需要關(guān)心您現(xiàn)在的數(shù)據(jù)庫是SQL server的,還是oracle的。這就是設(shè)計(jì)模式的使用。