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模式比較合適,這樣可以將各實體關連,也做到了很好 的分類.
這裡只是取了部分我想到的問題,如果您同意或者反對,歡迎討論