使用NHibernater+Spring.Net+MVC3搭建企業(yè)級應(yīng)用架構(gòu)
本人已經(jīng)從事公司兩套這類架構(gòu)系統(tǒng)的開發(fā)工作啦!對于這套架構(gòu),我驚嘆不已!BPS和CMS系統(tǒng)都是采用這套架構(gòu)。但本人也同時(shí)漸漸發(fā)現(xiàn)了這套架構(gòu)有諸多不足之處,于是本人利用閑暇時(shí)光進(jìn)一步改進(jìn)了這套架構(gòu)。新架構(gòu)是基于“領(lǐng)域模型”的企業(yè)級應(yīng)用架構(gòu)模式,使用了NHibernater+Spring.Net+MVC3的框架技術(shù)搭建。即便的是1.0版本,我也驚嘆其幾乎趨于***了!這套架構(gòu)是馬丁.福勒關(guān)于“企業(yè)級應(yīng)用架構(gòu)模式”理論的.Net實(shí)踐。
架構(gòu)基于三層模型,使用了接口技術(shù)、工廠模式、MVC模式、適配器模式等設(shè)計(jì)技巧,使架構(gòu)支持高度擴(kuò)展、易于修改、易于維護(hù)等諸多優(yōu)點(diǎn)。
主要特性如下 :
1、三層結(jié)構(gòu)
2、使用接口。降低依賴
3、改變了老架構(gòu)部分類庫職責(zé)不清?,F(xiàn)在各類庫職責(zé)清晰
4、改變了老架構(gòu),高度依賴外部組件的設(shè)計(jì)。現(xiàn)在基于“適配器模式”設(shè)計(jì)使用第三方組件,如:Log4.net
5、支持CodeSmith模版生成Hibernate領(lǐng)域類、配置文件等。
6、在老架構(gòu)的基礎(chǔ)上改進(jìn)了業(yè)務(wù)層和數(shù)據(jù)層的依賴,使其徹底分離。
7、MVC層的Model分離。
8、增加了Facade類庫作為表現(xiàn)層和業(yè)務(wù)層的隔離層。
重用代碼:
EnterpriseArchitecture-1.0
NHibernater代碼生成模版:
NHibernate
北風(fēng)數(shù)據(jù)庫:
SQL Server 2000 Sample Databases
所需環(huán)境:
VS2010、MVC3、.NetFramework4.0、Window XP以上、SQLServer NorthWind數(shù)據(jù)庫
注意:此架構(gòu)內(nèi)部使用,不可外傳!
因?yàn)槲覜]有時(shí)間去寫個(gè)什么文檔,所以提供以下有助于理解的若干設(shè)計(jì)圖: