有人可以帮我理解在WebForms上实现的Model-View-Controller方法吗?我对以下几点感到困惑:
如果我们有ABC.ASPX和ABC.CS文件,那么视图是什么?它只是ABC.ASPX文件?或.ASPX + .CS文件的组合?
我们认为ABC.CS文件是控制器吗?如果不是,它会成为控制器的单独类吗?
数据库连接和数据转发是否会进入模型或模型调用的单独类?
有人可以给出一个在webforms中实现Model-View-Controller的简单示例吗?
更新
大家好,我的问题是如何使用WebForms实现模型 - 视图 - 控制器方法,而不是ASP.NET MVC2.0。我为这种困惑道歉。
干杯
答案 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可以在这里看到,它有一些很棒的图像作为参考点。