2010-11-15 48 views
0

所以我是新来编程和使用C#和学习MVC。我终于完成了我的第一个个人项目,以实践我从我一直关注的书籍/教程中学到的东西。我的项目是您的典型商店,列出产品,有购物车,用户帐户,管理网站等。需要关于MVC项目工作流程的建议

我已经设法将NHibernate连接到我的MySQL数据库,并将记录发布到视图。

我的问题是“我应该从哪里开始?”。看起来我可以去很多不同的方向,管理站点来管理网站和产品,让我的产品显示在网站上,用户帐户。我如何“应该”处理每个组件有什么建议?

我倾向于管理网站,因为从逻辑上将商品放入商店之前就会在商店中展示商品。

任何意见非常感谢。

+0

您也想要在Web窗体中同时构建您的应用程序。您将看到Web Forms如何比用于构建小型站点而不是企业应用程序的MVC更适合精心设计的应用程序。 – 2010-11-16 02:58:16

+0

@Mitch ...查看我对@ gerry的回答的评论。我很抱歉,但你是错误的。 – 2010-11-17 15:24:21

+0

我住在加拿大艾伯塔省,那里是石油。许多大型石油公司正在将其托管的“系统”(而不仅仅是站点)迁移到ASP.NET MVC。这是一个数十亿美元的行业,主要依靠MVC来支持他们的大部分托管系统......包括工资单,报表等。 – 2010-11-17 15:26:05

回答

1

我同意@Tod

选择所需要的网站的一部分,并建立它。建立你的模型(包括一个视图模型),然后是你的控制器,最后是你的视图。

就我而言,我选择以用户开始。

  1. 我建立了我的数据库和用户表(不,我没有使用代码第一或EF)
  2. 然后,我创建的LINQ DBML文件
  3. 然后创建超级简单的存储库,讨论到LINQ类
  4. 接下来,我创建了一个服务层,它在与存储库层进行通信之前做了一些繁重的工作。然后,我构建了一个ViewModel,用于“转换”要在视图中使用的数据。这也包括建立一些HtmlHelpers和扩展方法。
  5. 现在到我的控制器。我构建新的ViewModel对象,将对象传递给ViewModel,然后将视图模型return传递给视图。
  6. 最后,我实现了视图,做了我的CSS和标记。

因此,当我访问该网站时,除了一个完美的用户部分外,我没有看到很多。这还包括注册区域,登录区域等。

现在用户部分已完成,我的下一个大部分是“事件”,从而我将重新开始此过程。

+0

除了从客户的角度来看产品最有价值的部分是最后完成的,并且数据库模型可能根据您最终需要显示的内容(您可能缺少一个字段)而不正确。 – 2010-11-15 22:06:55

+0

嗯,我想第一步是要知道你需要建立什么。 – 2010-11-15 22:07:53

+0

我不同意。第一步是要有一个相当好的主意,你会建立。这种情况不可避免地会随着您原先设想的情况发生戏剧性变化,尤其是在客户反馈的情况下。 – 2010-11-15 22:09:08

1

从你可以先使用的东西开始。如果您无法将产品投放到系统中,那么“按照我的意愿在网站上展示产品”有什么好处呢?另一方面,拥有一个可以输入产品的网站可能对其本身有些(有点)有用。

即使你是客户,问问你自己:你可以构建的最小功能是什么,对你的客户有用?首先建立!

祝你好运!享受编程!

-1

好的,在我看来,你可能想找到一个特定的目标,比如为一个拥有你知道的业务的人创建一个网站(这是我所做的,所以有一个我的几个朋友)。

我发现目标越具体,编码体验就越好。所以如果你对某个特定项目有兴趣,那么你就会知道需要做什么。例如,给自己做一个像音乐库实用程序一样的项目,然后看看它在哪里。 :)

+1

谢谢你的建议然而,我想你错过了这个问题。我已经开始了一个项目。我列出了项目的内容以及迄今为止所做的工作,但是正在寻找我正在开发的MVC网站的具体方向。 – pghtech 2010-11-15 21:57:51

+0

好吧,够了......祝你好运。 – Alex 2010-11-15 22:18:54

1

我想它有点个人喜好。对我而言,我宁愿先着手面向前端客户的东西,例如:销售产品,购物车,购买和结帐。

从客户的角度来看,事物的管理员并没有真正为产品增值。在不太理想的情况下,您可以在没有管理界面的情况下发布商店,并直接在数据库中管理产品(不理想),但您仍然可以发布它并向公众销售产品。

管理员不会添加这种价值,即使您可以添加和删除系统中的产品,仍然无法发布该产品,因为客户无法看到或购买它们。

我喜欢关注什么增加了最大的价值,并从那里建立 - 但实际上这并不总是可能的。

无论哪种方式,我认为从哪个方向您更舒适是最好的方法。如果从逻辑上说,您可以更轻松地从产品管理面板中将产品添加到系统中时定义产品的过程,请从管理面板启动。

如果您发现根据您确定需要在面向公众的页面上创建编辑产品页面更容易,那么请从产品列表开始,并围绕其构建管理。

0

用户帐户的东西在您的网站中使用,所以您应该先创建。购物车将与用户帐户相关联。