我花了很多时间在Django工作,并且已经充分理解了框架,我已经开始用我自己的自定义组件替换原始组件(视图引擎等)并且天空没有下降
我一直在关注ASP.NET MVC,并且非常感兴趣(我真的很喜欢C#/ F#)但到目前为止已经学到了......几乎没有。我一直在挖掘http://www.asp.net/mvc/mvc4但没有取得多大成功。我想我的主要问题是:
典型工作流程中的主要运动部件是什么?让我们说一个请求进来。谁接受了它,做了什么,并将其传递给其他人?例如,在Django中,请求通过URL Mapper,Middleware,转到控制器,它可以挖掘一些模型(通过显式函数调用)并获取一些数据,将其传递给模板(也通过显式函数调用) )被渲染并传回去。
有什么样的客户端 - 服务器耦合?例如,在许多框架中,每个HTML表单与服务器端验证器以及具有数据库表的模型明确耦合,从而自动生成客户端验证代码。另一个例子是Quora的Livenode,它明确地将客户端HTML组件与它们在模型中的依赖关系链接起来,允许数据库中的更改传播并自动更新客户端代码。
答案 0 :(得分:2)
在TekPub和Pluralsight上有一些关于ASP.NET MVC的优秀入门教程视频,它们很好地涵盖了基础知识。
答案 1 :(得分:1)
答案 2 :(得分:1)
我认为你的第一个问题没有比ASP.NET MVC Pipeline更好的答案:
http://www.simple-talk.com/content/file.ashx?file=6068
在这里更详细地解释:
http://www.simple-talk.com/dotnet/.net-framework/an-introduction-to-asp.net-mvc-extensibility/
关于第二个问题:答案是无。 ASP.NET应用程序甚至不必呈现HTML输出,您可以编写自己的viewengine来提供数据的任何表示,而不是浏览器消耗,但任何支持http(REST)的设备。您可以考虑将唯一的事物视为耦合“约定”(例如,用于模型绑定),但它们可以以您喜欢的任何方式进行替换和扩展。
答案 3 :(得分:1)
有什么样的客户端 - 服务器耦合?
正如鲁森所说,没有。
我不熟悉Django,但与其他MVC框架(包括Rails)不同,ASP.NET MVC非常瘦,因为它只实现了传统MVC模式的视图和控制器。对于模型部分,你几乎都是自己的。这意味着没有内置的数据库创建支持,ORM等等。
ASP.NET MVC确实实现了一堆管道来将请求路由到适当的控制器,甚至在实例化控制器时绑定了一些参数(例如查询字符串参数,表单值),但这个绑定还没有完全成熟模型。此上下文中的绑定通常是单个值或“viewModels”
ASP.NET MVC还实现了管道,以选择要渲染的正确视图。