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

我花了一段时间在网络上搜索适当分层的 MVC 应用程序的示例,但所有主题要么不完整,要么只有大量文本而没有实际示例。

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

你的接口(interface)和类是什么样的 你会把它们放在哪里 ,你会把类放在哪里以从数据库中获取数据等等。我不需要这些类的实现,只需要它们的名称位置和函数或它们持有的属性

例如

IProduct -> 第二个项目中的接口(interface)(Project.Whatever -> someFolder)

属性:名称、价格...

IProductRepository -> 它在项目中的位置

功能:BuyProduct(产品产品)

现在,当您定义了您认为理解示例所需的所有细节时,请写下从 Controller 到生成 View 的程序流的详细信息,您从 Controller 调用哪个函数,哪个函数调用您从 Controller 调用的函数以及依此类推,直到您最终到达返回 Controller 并生成 View 的部分。

我知道这将需要更长的时间来解释,但您不需要介绍太多细节,但足以让我了解如何正确地对 mvc 应用程序进行分层

提前致谢

最佳答案

起初我不得不说,我不知道您总体上对编程有多少经验,这让您很难回答所有问题。

我会说你应该看看 .net 框架,不是开玩笑,在理解分离关注方面。这是最重要的事情之一,并回答您的问题“您的接口(interface)和类会是什么样子,您将把它们放在哪里”。

一个 sample 。

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 上观看直播

希望有帮助!

关于asp.net-mvc - 分层 ASP.NET MVC 应用程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7932616/

10-11 20:18
查看更多