自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺析十二個最佳ASP.NET MVC實踐

開發(fā) 后端
在這里我們將介紹十二個ASP.NET MVC最佳實踐,希望本文能對大家了解ASP.NET MVC有所幫助。

我們將談到的是ASP.NET MVC實踐,這十二個ASP.NET MVC實踐可以幫助大家更好的進行開發(fā)工作。希望對大家有所幫助。

關于Controller的***實踐

1-刪除AccountController

讓Demo代碼在你的程序中是一個非常不好的做法。請永遠不要使用AccountController。

2-隔離外部網(wǎng)絡和Controller

 如果依賴HttpContext,數(shù)據(jù)訪問類,配置,日志等,則會讓程序難以測試,修改或者進一步開發(fā)。

3-使用一個IOC容器

使達到第二條***實踐更加容易,使用IOC容器管理所有外部依賴我使用 Ninject v2,這種IOC容器有很多,如果需要的話,你甚至可以自己實現(xiàn)一個。

4-和“神奇的strings”說不

永遠不要使用ViewData[“key”],而要為每一個視圖創(chuàng)建一個ViewModel,從而使用強類型的ViewPage。

神奇的Strings是很邪惡的,因為你可能由于錯誤的拼寫而導致視圖出錯,而強類型的Model不僅可以有智能感知,而且錯誤是在編譯時獲取而不是在運行時。

5-創(chuàng)建你自己的“個人慣例”

使用Asp。net MVC作為你個人(或者公司)的參考構(gòu)架的基礎,你還可以使Controller和View繼承于你自己的基類而不是默認的基類來讓你的慣例更加透徹。

6-注意Verbs

就算不使用最合適的HTTP Verb,最要也要采用PRG模式,(Post-Redirect-Get):使用Get來顯示數(shù)據(jù),使用Post來修改數(shù)據(jù)。

關于Model的***實踐

7–DomainModel != ViewModel

 DomainModel代表著相應的域,但ViewModel卻是為View的需要而創(chuàng)建。這兩者之間或許(一般情況下都)是不同的,此外DomainModel是數(shù)據(jù)加上行為的組合體,是由復雜的變量類型組成的并且具有層次。而ViewModel只是由一些String等簡單變量類型組成。如果想移除冗余并且容易導致出錯的ORM代碼,可以使用AutoMapper。如果想要了解更多,我推薦閱讀:ASP。NET MVC View Model Patterns。

8-為“共享”的數(shù)據(jù)使用ActionFilter

 這是我自己的解決方案,或許需要在未來發(fā)帖繼續(xù)探討。通常情況下,你都不希望你的Controller獲取的數(shù)據(jù)在幾個不同的View之間共享,我的方法則是使用ActionFilter來獲取在幾個不同View之間共享的數(shù)據(jù),然后用合適的View來顯示。

關于View的***實踐

9-不要使用CodeBehind模式

永遠不要。

10-盡可能的寫HTML代碼

我認為Web開發(fā)人員必須的習慣于寫HTML(或者CSS和JAVASCRIPT)。所以***少用僅僅用來隱藏HTML代碼的HTMLHelper(比如HTML。Submit或者HTML。Button)。這也是我會在未來的帖子里討論的。

11-如果有if語句,使用HTMLHelper

View必須是啞巴(Controller是瘦子而Model是胖子),如果你發(fā)現(xiàn)自己在使用if語句,那就寫一個HTMLHelper來隱藏選擇條件語句。

12-仔細的選擇你的View引擎

 默認的引擎室WebFormViewEngine,IMHO并不是***的引擎,我更傾向于選擇Spark ViewEngine,因為對于我來說這個引擎更適合MVC的View。我喜歡的是“dominates the flow and that code should fit seamlessly”對于每一次循環(huán)來說IF語句都會被定義在”HTML標簽“中。

原文標題:<譯>12個asp.net MVC***實踐

鏈接:http://www.cnblogs.com/CareySon/archive/2009/10/31/1593731.html

責任編輯:彭凡 來源: 博客園
相關推薦

2009-07-31 12:43:59

ASP.NET MVC

2009-07-23 14:31:20

ASP.NET MVC

2009-07-20 10:33:02

ASP.NET MVC

2015-11-19 09:26:01

ASP.NET跨平臺實踐

2009-07-31 09:47:57

ASP.NET緩存

2009-04-08 09:58:07

ASP.NET MVCTempData框架

2009-07-30 13:45:40

ASP.NET開發(fā)模式MVC模式

2009-07-24 13:20:44

MVC框架ASP.NET

2009-07-24 13:41:15

ASP.NET AJA

2009-08-05 18:36:12

ASP.NET Che

2009-08-05 15:50:13

ASP.NET優(yōu)點

2009-08-26 16:25:43

軟件測試

2009-11-09 14:44:52

開源UML工具

2009-08-10 13:32:15

ASP.NET TimASP.NET組件設計

2010-03-12 09:38:58

2009-09-24 09:26:22

ASP.NET MVC

2009-06-17 14:36:10

SpringXML配置文件

2009-08-04 17:16:16

ASP.NET代碼優(yōu)化

2009-08-05 16:50:09

ASP.NET For

2009-07-24 18:02:46

ASP.NET編程
點贊
收藏

51CTO技術(shù)棧公眾號