來源:北大青鳥飛迅校區(qū)|發(fā)布時間:2013-04-26 09:47:59
最近基于ExtJs和asp.net mvc做了一個系統(tǒng).來總結(jié)下.一起討論下.
一.技術(shù)分析
1.web數(shù)據(jù)傳輸
ExtJS作為前端UI展現(xiàn)層,傳輸數(shù)據(jù)格式為json或者xml,一般大部分為json.
2.asp.net mvc
(不要考慮太多mvc其他特性,controller+method就夠了)的和路由url很好的符合了這一要求,實現(xiàn)起來很輕松.
3.選一款依賴注入容器
只要你好好學(xué)過一款I(lǐng)oc組件,概念都還是一樣的,做法不同而已,我選的是微軟的Unity,
這里我并沒有把Service配置在xml中,根據(jù)我的理解,大部分軟件并不需要這么靈活,我就純注冊就夠了(其實往往是這樣,我們可以問問自己,我們用到了多少功能).因為大部分都是注冊一次,永不修改的…真的有必要的時候可以提出
Ioc組件很多,個人認(rèn)為比較強(qiáng)大的還是spring.net,功能非常豐富,還有AOP功能,最主要的是其可以和其他組件結(jié)合的很好.
容器作為底層服務(wù),主要就是為我們提供靈活性.想辦法與現(xiàn)有組件結(jié)合,注冊相關(guān)服務(wù).
4.數(shù)據(jù)庫操作(NHibernate)
3年前我會選ADO.NET
2年前我選Microsoft.Practices.Data.Application
1年前我選linq to sql
現(xiàn)在我選nhibernate
關(guān)于NHibernate映射
(1)若你是初學(xué)者,乖乖的自己手動配吧
(2)若你喜歡linq的,有一款FluentNHibernate可供選擇(用新技術(shù)請考慮風(fēng)險,玩的沒關(guān)系)
(3)若你映射配置文件玩的很熟悉了,就用NHibernate.Mapping.Attributes掛標(biāo)簽自動生成吧(不推薦用什么代碼生成器,都是要重新改的)
5.比較java web經(jīng)典平臺
比較慶幸,之前有接觸過java,java的web編程架構(gòu)很穩(wěn)定,3年前如此,現(xiàn)在還是一樣,不同的只是版本升級而已,這點.net程序員比較慘的.這也見證了spring,hibernate,struts(webwork)在目前而言是最好的拍檔.
換成.net平臺也就是spring.net(Ioc容器)+nhibernate(orm)+asp.net mvc
spring.net和nhibernate都屬于java移植產(chǎn)品,所以應(yīng)該來說資料是非常的多,想學(xué)習(xí)的人,應(yīng)該把眼光放到j(luò)ava社區(qū)中,收獲會很多的,稍微比較下c#和java語言就好了(千萬別學(xué)了就跑去學(xué)java了:)).
asp.net mvc對比struts而言,方便了很多,但不同的是java附產(chǎn)品比較多,像asp.net mvc這樣的框架,java也有些框架已經(jīng)開始改進(jìn)了(看到過,基本上理念是一樣的).
當(dāng)然這里均采用的開源路線,大家也可以采用微軟自家平臺的技術(shù).
二.技術(shù)串聯(lián)
1.注冊容器
2.初始化Nhibernate
我們都知道Ioc是可以與asp.net mvc結(jié)合的
3.Nhibernate與容器配合法
(1)Nhibernate與spring.net的結(jié)合,這里已經(jīng)有經(jīng)典例子在了,何謂經(jīng)典例子,就是大家都這么干,而且也沒出什么問題,我也就這么干,確實有點道理的…雖然有時候真不懂為什么這么干。。。呵呵
(2)用單例的方式在應(yīng)用啟動時注冊,如上法
(3)Nhibernate若映射換FluentNHibernate的話,或者加入linq to nh,則整個設(shè)計就要重新考慮了
全程面授,不高薪都難
申請成功后,我們將在24小時內(nèi)與您聯(lián)系
招生熱線: 4008-0731-86 / 0731-82186801
學(xué)校地址: 長沙市天心區(qū)團(tuán)結(jié)路6號
Copyright © 2006 | 湖南大計信息科技有限公司 版權(quán)所有
湘ICP備14017520號-3