分层ASP.NET MVC应用程序

时间:2011-10-28 17:21:21

标签: asp.net-mvc design-patterns

我正在开始我的第一个严肃的ASP.NET MVC应用程序,我需要有人向我解释如何正确分层。 (到目前为止我创建的所有应用程序只是测试应用程序而我并不关心正确分层)

我花了一段时间在网上搜索正确分层的MVC应用程序的例子,但所有的主题都是不完整的,或者只有大量的文字而没有真正的例子。

假设我有电子商务网站(其他任何例子都没问题),有人可以给我一个例子,说明你将如何构建这个应用程序(例如当用户购买产品时)

您的接口和类会是什么样?您将它们放在哪里,您将在何处放置用于从数据库中获取数据的类等等。我不需要这些类的实现,只需要它们的名称位置和功能或属性

例如

IProduct - >第二个项目中的界面(Project.Whatever - > someFolder)

属性:名称,价格......

IProductRepsitory - >它在项目中的位置

功能:BuyProduct(产品)

现在,当您已经定义了您认为需要了解您的示例所需的所有细节时,请从控制器写下程序流的详细信息,直到生成视图,您从控制器调用哪个函数调用您调用的函数从控制器等开始,直到你最终到达控制器并生成视图的部分。

我知道这需要更长的帖子来解释,但你不需要进入太多的细节但只是足够让我能理解如何正确分层mvc应用程序

提前致谢

1 个答案:

答案 0 :(得分: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大会..这是正确的思考方式。

在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,看看如何 你可以构建你的应用程序。 =>

NerdDinnerNerdDinner.com

上看到它

希望有所帮助!