以前一直在用jsp,什么struts,hibernate都搞過,自己也開發(fā)過一個類似struts,但是又比之簡單易用(當然功能也不夠多,夠用就行了)的,用在很多的項目上,有一定的作用,自此也迷上了java帶來的海闊天空的感覺,你可以自由的發(fā)揮,用各種各樣的設(shè)計模式來提升你的開發(fā),簡化你的工作,減少工作量。
但是做了幾個項目,發(fā)現(xiàn)jsp在做客戶端方面,總是不夠好,我總是幻想有,寫b/s程序可以和寫c/s程序一樣,用rad工具拖拖拉拉,然后寫代碼,jsf出來了,好像有這么一點意思,但是還不成熟,并且缺乏ide的有效支持,據(jù)我所知,只有ibm的websphere studio application developer 5.1以上才支持,但是這個東東太耗資源了,忍痛舍棄。。。。。。
這時候,恰逢.net甚囂塵上,這段時間就在看.net,發(fā)現(xiàn).net在做客戶端方面很強大,跟微軟的一些軟件產(chǎn)品如excel/word等交互也比較容易,也可以用上一些設(shè)計模式了提高工作效率,但是,不知道是由于我是從java陣營中轉(zhuǎn)過來的原因,還是對原來asp的壞印象作祟,我總覺得在某些方面跟java還是有差距的:
1。對于整個web模型,我覺得ms一開始就沒有考慮到可能會采取的一些分層開發(fā),所以有些東西支持的不好,明顯的莫過于在session/request/response的設(shè)計了,本來我以為.net會參考java的一些東西來改進這些本來在asp中比較失敗的部分,但是我發(fā)現(xiàn),基本上還是asp那些東西,比如,我的頁面的東西交給后臺的業(yè)務(wù)邏輯層去做處理,完成后,我想將返回結(jié)果寫到response中,然后在頁面對應(yīng)的class中,從response取出這些數(shù)據(jù),展現(xiàn)出來,這樣有利于進行分層,和松耦合設(shè)計,但是在.net中(我用C#),response無法將數(shù)據(jù)傳回到頁面,我查了一下msdn,發(fā)現(xiàn)只有用cookie才能完成傳遞key-value的這樣一些功能,但是天哪!cookie?我受不了了,如果客戶端禁用cookie呢?而且性呢?
2。在O/R Mapping方面,在java有很多開源的框架,如hibernate就是其中的佼佼者,當然,在.net中,也有一個nhibernate(請注意名字,不用說是參考java的hibernate做的),目前還沒怎么使用,不好評論,但是從網(wǎng)上的反映來看,還是不怎么成熟。
上面只是一點個人學習的認識,由于接觸.net不久,也不知道對不對。
的希望是在新版本的.net框架中,對session/request/response作更好的改進,同時也希望.net的第三方開發(fā)框架快點成熟起來,呵呵,那樣我們就有福了。