模型视图控制器

时间:2010-10-21 19:27:24

标签: asp.net-mvc model-view-controller webforms

有人可以帮我理解在WebForms上实现的Model-View-Controller方法吗?我对以下几点感到困惑:

  • 如果我们有ABC.ASPX和ABC.CS文件,那么视图是什么?它只是ABC.ASPX文件?或.ASPX + .CS文件的组合?

  • 我们认为ABC.CS文件是控制器吗?如果不是,它会成为控制器的单独类吗?

  • 数据库连接和数据转发是否会进入模型或模型调用的单独类?

有人可以给出一个在webforms中实现Model-View-Controller的简单示例吗?

更新

大家好,我的问题是如何使用WebForms实现模型 - 视图 - 控制器方法,而不是ASP.NET MVC2.0。我为这种困惑道歉。

干杯

2 个答案:

答案 0 :(得分:2)

我想我明白了你想要做什么:你想在ASP.NET WebForms应用程序上实现MVC架构上面。很公平。

我只能说祝你好运!我在那里&做到了。我后悔这样做了......:P

请记住:ASP.NET WebForms是一个巨大的抽象,它试图使Web成为一个状态良好,基于事件的,类似于窗口的环境,而不必担心任何分离。因此,尝试在上面创建一个无状态,高度解耦和非基于事件的架构,不幸的是,这种架构几乎是疯了。

拜托,启发自己,来到真正的ASP.NET MVC世界......: - )

PS:有些人声称在ASP.NET WebForms上面实现了 MVP (Model-View- Presenter )架构的成功。对他们感到羞耻(但你可以尝试,如果你真的想要)!

答案 1 :(得分:1)

正如其他人发布的那样,MVC上有很多信息,所以我会回答你的问题......

  

如果我们有ABC.ASPX和ABC.CS文件,   什么是观点?它只是ABC.ASPX   文件?或.ASPX + .CS的组合   文件?

它们都是......但是.cs文件被引用为后面的代码,但它们都组成了视图。

  

我们将ABC.CS文件视为   控制器?如果不是,那将是一个   控制器的单独类?

不,一个单独的类就是控制器。

  

数据库连接和数据   retreival进入模型或单独   将由模型调用的类?

你可以去任何一种方式。您可以将此逻辑放在模型中,但是您也可以将其功能化为服务,然后可以根据模型的需要调用它们。恕我直言,第二条路线是要走的路,因为我不想让我的模型依赖于外部实体,它也使测试模型更容易,因为你可以从模型测试中分离出服务测试。

Diagram可以在这里看到,它有一些很棒的图像作为参考点。