2010-01-08 57 views
1

我们在ASP.Net MVC中启动了一个新项目,请问哪种方法最好?哪个是ASP.Net MVC的最佳模式?

我已经添加了这个问题,知道什么是不同的选项。

+12

最好是什么? ASP.NET MVC假定您将使用MVC模式。 –

回答

4

请参阅S#arp架构。

http://www.sharparchitecture.net/

这是一个项目(模板为Visual Studio)与模式和最佳pratices意甲。

该项目遵循域驱动设计规则。

[]的

+0

+1,不是一个糟糕的起点。认为@Ravia首先需要基础知识。 – griegs

+0

我开始使用时没有任何有关ASP.NET MVC,NHibernate和小jQuery的知识(虽然是很好的OOP,ASP.NET和数据库)。在我看来,S#arp非常擅长给任何人一个快速入门,因为它消除了几乎所有的基础设施问题,并且可以立即开始尝试 - 即实用的学习方法。 – queen3

1

如果你来自一个WebForms的环境,那么你可能熟悉的ViewState等

我的建议是走出这一点,并开始REST的思考和写作RESTful应用程序。

之后,生活变得更加轻松。

希望这是你问的。

2

Ravia,而不是发布一般性问题,您为什么不花时间阅读或观看MVC上的精彩演示文稿,请查看Scott Guthries intro to MVC,这很长,但值得。你会有一个想法,然后

3

通常建议使用MVVM模式,这意味着有ViewModels。基本上对于每个视图,都有一个简单的Model类,用于保存进入视图的所有数据。这样做是为了避免将“太多”(复杂的业务对象)传递到模型中,并轻松组成ViewModel。例如,如果您需要显示来自名为“用户”的业务类(即名称)和来自订单列表(即订单号)的一些数据中的一些数据,则可以创建一个仅支持字符串用户名和只有订单号的字符串的IEnumerable。这也允许简化类,例如,不必编写“User.CurrentAddress.ZipCode”,你可以只有一个字符串ZipCode,它可以减少嵌套。

这个视图模型的主要原因是它很容易改变。假设您还想显示用户订购的最后一个项目 - 很好,只需将一个新的属性添加到ViewModel即可。如果您将User类直接传递给View,您可能必须执行一些类似User.Orders.Last()。Items.Last()的操作,这很丑陋,可能会带来巨大的性能影响 - 并假定User类具有获得订单!如果你突然需要从另一个不相关的类中添加一个字段,则必须进行一些大的重构。

+1

下面是一个简单的参考应用程序,在许多不同的UI平台中使用视图模型方法:http://polymorphicpodcast.com/vmworkshop/ – rohancragg

相关问题