除了作为 30 年的模式之外,MVC 从来就不是为当前的应用程序设计的。MVP 是其继承者,旨在处理 90 年代出现的基于事件的应用程序。被动视图和监督控制器似乎已经上升到了顶峰。对于这两者来说,几乎没有必要谈论 MVC/MVP。

具体来说,ASP.NET MVC 中的控制器操作是否会返回创建该视图的视图?在 MVC 中,控制器不会创建视图或与它们对话。将 ASP.NET MVC 称为 MVC 实现有多准确?或者,它的准确名称是什么?

有帮助吗?

解决方案

我认为这是对Ruby的启发MS创建asp.net MVC Rails的。

其他提示

ASP.NET MVC简直是MVC实现的web框架内on Rails和Django的成功像Ruby微软的确认。实现很多Web开发人员想办法对Web开发更实用,其涵盖了“自以为是”的编程模型(约定优于配置),然后在ASP.NET的WebForms提供了状态抽象迷路了。

它是一个精确实现Smalltalk的MVC模式?号它是一种恐慌的结果呢?号是两者兼而有之的Ruby on Rails和Django的成功的结果?是。

我发生,因为它包含了,但自己的方法和使用惯例为基础的发展的简约通过.NET和ASP.NET堆栈提供了丰富的框架来爱这个模型。

足够的关闭,这是一种销售策略。

他们出售ASP.NET对自身标识为MVC等技术。因此,它是有用的竞争力来命名它在同一类别中被感知。

微软不是由准确识别技术更经常通过赢得产品定位。 (加上长期递送,IMHO。)

ScottGu 在他的第一个 MVC 演示帖子的第一部分中回避了答案 这里. 。简短的回答是,人们要求它,而微软决定接受它。它适合当前的.Net模型,添加尽可能多的选项,使框架能够达到更大的目标市场,并为开发人员提供适合正确项目的正确工具。

MVC通过ASP.NET MVC实现不是老MVC模式。在我称之为“经典”的MVC开发的具有直接的,但只读,访问模式,在ASP.NET MVC中它被认为是不好的形式直接从浏览访问你的商业模式。你最终是什么东西很像监督控制器+被动 视图:

public class MvcExampleController : Controller
{
    public ActionResult ActionMethod(BoundInputData inputData)
    {
        var results   = DoActualWorkInTheModelWith(inputData);
        var viewModel = CreateViewModelFromThe(results);

        return View(viewModel);
    }
}

对我来说这看起来更像是一个比传统的MVC一个监督控制器。一旦工作能在模型完成后,视图被传递一个ViewModel(又名PresentationModel)。视图模型通常具有与所述视图中的UI元素1对1的关系,并且可以或可以不象在实际模型中的对象任何东西。一种观点认为,作用于视图模型,而不是实际的产品型号很多闻起来像一个被动视图给我。

我不会进入这个是否是一个“真正的” MVC实现与否,但如果你的论点是,ASP.NET MVC不使用现代网络设计模式我不同意。

最佳答案,每个人都听到了MVC的。 MVC已经被殴打为开发人员提供了“最佳做法”很长一段时间,因此整整一代(或两个或三个)看到MVC和思考幸福的思念。

此外,很多其他框架的拥护MVC在一个类似的光线,微软可能认为必须这样做。

总之,我很怀疑有它强大的技术原因。

您可以与目前的ASP.NET框架滚你自己的MVC,仍然保持回传模式。

http://www.codeproject.com/KB/aspnet/RollingYourOwnMVCwithASP.aspx

这是一个很好的问题,在 MVC 早期很多人都问过这个问题。这是该项目的首席开发人员之一菲尔·哈克 (Phil Haack) 的回答!

http://haacked.com/archive/0001/01/01/everything-you-wanted-to-know-about-mvc-and-mvp-but.aspx

检查一下,阅读链接并从那里开始。

另外,争论的答案可能是 S#arp 架构。他们在 MVC 之上构建了一个层,使其更像 MVP。如果您正在寻找类似的内容,请查看它们。

祝你好运!

我认为这更多的是一个“抢营销决策”,那么一个技术决定的。回报率偷了市场的每一个第二和MSFT完全慌了,所以MSFT觉得他们提供一些东西,给了他们机会再次得到一些炒作回到“营地” ...

此外,他们需要帮助他们的开发人员再次通过获取,使得.NET开发人员可以看看自己在镜子里这个词大肆宣传自己与联想获得BAC%1自尊又不会感到羞愧,他们不知道MVC因为他们所选择的平台并没有提供这种模式对他们(开箱即用)

有关的介质熟练(.NET)显影剂真的很难以不感到像恐龙当介质熟练RoR的显影剂会调用耙并创建具有工作和之前正在运行的概念证明小于15分钟尖峰。净显影剂甚至开始vstudio.exe完成...;)

我想这是一个有争议的角度来看,但它是我的,我会捍卫它,直到血战到底......;)

有无数的例子今天是,MVC和脚手架会给你一个初始速度提升,是的。但对于可维护性,代码重用,封装和每一个主要的真正的重要的事情 - MVC只是不是“银弹”和大部分时间的WebForms的是,从长远来看(远远优于除非使用像厕所当然纸)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top