2011-10-28 87 views
4

我開始了我的第一個嚴肅的ASP.NET MVC應用程序,我需要有人向我解釋如何正確分層。 (到目前爲止我創建的所有應用程序,只是測試應用程序,我不關心正確分層)分層ASP.NET MVC應用程序

我已經花了一段時間在網上搜索正確分層的MVC應用程序的例子,但所有的主題不完整或那裏只有很多文字沒有真正的例子。

比方說,我有電子商務網站(其他例子也將被罰款),可能有人給我寫你會如何(當用戶購買的產品爲例)構建這個應用程序的一個例子

你會有什麼接口和類看起來像你會在哪裏放置它們,你會在哪裏放置用於從數據庫獲取數據的類等等。我不需要這個班只是他們的名字地位和作用,或他們持有

例如

IProduct性質的執行 - >在第二個項目接口(Project.Whatever - > someFolder)

屬性:名稱,價格...

IProductRepsitory - >這是項目位置

功能:BuyProduct(產品產品)

現在,當您定義了所有您認爲需要了解您的示例的細節時,請記下控制器的程序流程細節,直到生成視圖,然後從控制器調用哪個函數,調用哪個函數調用您調用的函數控制器等等,直到你最終到達你回到控制器的地方並生成視圖。

我知道,這將花費更長的時間後解釋,但你不需要去太多的細節,但剛好夠,所以我可以瞭解如何正確層MVC應用程序提前

感謝

回答

3

起初我必須說,我不知道你在編程方面的經驗如何,這使得很難回答你所有的問題。

我想說,你應該看看.net框架,不要開玩笑,不要理解關心的分離。這是最重要的事情之一,並回答你的問題:「你的界面和類會是什麼樣子,你會在哪裏放置它們」。

一個樣本。

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading; 

namespace YourCompanyName 
{ 
    // here goes only stuff that could use in 
    // EVERY kind of .NET Application... 
    // The classes that are placed here dont 
    // know windows, the internet, phones or ... 
} 

namespace YourCompany.Web 
{ 
    // here goes only stuff that could use in 
    // any Asp.NET Application.. Mvc and Webforms 
    // like request helpers... Only Asp.NET related 
    // stuff 
} 

namespace YourCompany.Web.Mvc 
{ 
    // here goes only stuff that could use in 
    // Asp.NET Mvc Application.. like HtmlHelpers or 
    // EditorTemplates 
} 

namespace YourCompany.Web.Forms 
{ 
    // here goes only stuff that could use in 
    // Asp.NET WebForms Application.. like WebControls 
} 

// and so on 

等等,如果你使用Windows窗體的東西嗎?,YourCompany.Windows.Forms你 延長System.Windows.Forms大會..那是想以正確的方式。

In點Asp。NET有傢伙

Scott Hanselman

Phil Haack

Scott Guthrie

,還有更多,我建議您閱讀他們的博客,看看他們 網絡廣播。

就Asp.NET MVC而言,您必須看到Scott Hanselman的這兩個視頻。 你可以在短時間內學到很多東西,它的樂趣和激勵。

ASP.NET MVC 2: Basics, Introduction by Scott Hanselman

ASP.NET MVC 2: Ninja Black Belt Tips by Scott Hanselman

並下載演示應用學習asp.net的MVC,看你如何能 構建應用程序。 =>

NerdDinner看到它住在NerdDinner.com

希望幫助!