2011-10-28 57 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

希望帮助!