1. 程式人生 > >Asp.net Mvc開發體會點滴 一

Asp.net Mvc開發體會點滴 一

大家中秋快樂,^^,近幾日較忙抽點時間把寫了快一個星期的日誌發出來下,下面有一些是實驗驗證,有一些的直觀感覺,所以難免有錯,希望眾兄弟指正

以下是這些日子來使用Asp.net Mvc的部分心得與體會

何時使用Helper

其實使用Helper效能不是太高,能免即免,不過可以在以下場合使用

1.存在Url的地方

比如超級連線,Form的Action,圖片的Src.因為開發者的UrlRouting可能變化,如果寫死,改動成本較大

2.有表單,並且是修改資訊的時候

因為<%=ViewData["欄位"]%>本身切換顯示也很費時,所以不如直接用Html來繫結輸出

3.表單中的動太資訊DropDownList

因為HtmlHelper已經提供了很好的方法,所以在填充它時還是儘量使用HtmlHelper

對於一般插入型的表單,直接HTML我覺得就比較好了

使用Helper時要注意的問題

1.儘量不要使用RenderAction

RenderAction相當於再執行了一個Action

它的效率選沒有Html.RenderPartial好,且無法使用事務,在資料庫操作時很是不爽

不過它的使用也算簡單,在不要求頁面效率時可以使用

2.關於Microsoft.Web.Mvc

在這個程式集中的類都是預計釋出的測試版,效能尚不穩定,而且更改的可能性要高很多,所以最好就是嘗一下鮮,不推薦使用

提高程式效能

其實這是一個通性問題,在任何的Web架構中都是一樣的.

1.儘量使用事務

特別是在寫入資料庫時,TransactionScope可以有效減少資料庫的連線次數

2.各資料庫操作共用Connection

在我的程式中,使用了Ado.netEntity,通過Linq to Entities來進行查詢,而使用我自定義的資料庫類來CUD,經測試二者使用同一個Connection大大的提高了連線資料庫的效能.

這個也可以用在Linq to Sql.

架構與模式

其實我覺得Models的含義並不止於實體,其實也有資料的讀寫功能

將資料的讀寫封裝成類,在適當的Controller中呼叫其實是一個很好的方法,相信很多朋友已經這麼做了.

而封裝資料操作我覺得使用Mediator模式比較合適,這樣可以將各實體關連,也做到了很好 的分類.

這裡只是取了部分我想到的問題,如果您同意或者反對,歡迎討論