ASP.NET MVC - Controller / Actions或Views或ViewModels首先?

时间:2010-07-29 21:09:24

标签: asp.net-mvc

我熟悉MVC插件的各种功能来创建东西。例如,您可以创建控制器,在其上编写Action方法,然后使用上下文菜单中的“创建视图”功能为其创建视图。

问题是,建议先做哪个?

我想我可能会开始这样的方法:

  1. 规划UI等的外观及其运作方式。
  2. 为我认为可能需要的控制器操作编写单元测试。
  3. 创建控制器(如果它是那种控制器,可能使用默认的CRUD操作)。
  4. 为每个控制器操作创建ViewModel类。
  5. 为每个ViewModel创建一个强类型视图。
  6. 开始构建视图,在构建视图时通过ViewModel返回Controller。
  7. 您如何看待这种方法,您做了什么?

2 个答案:

答案 0 :(得分:3)

听起来你走在正确的轨道上。控制器是三者中最容易测试的组件。首先使用控制器将更容易遵循测试驱动的开发实践。

我对默认的视图模板并不是很满意,但是每个MVC大师都会指向T4模板,让你自己动手。与开箱即用的视图模板一样,它们对现有的视图模型和控制器更有效。

答案 1 :(得分:0)

我很想首先定义ViewModel,VM可以包含各种视图所需的全部或部分实体。如何隔离虚拟机将取决于您的应用以及如何分解其中的逻辑单元。

一旦我以基本形式获得VM,我将转移到我选择的数据存储所必需的模型(除非我有一个现有的数据存储,在这种情况下我已经开始使用模型)。然后到控制器上。然后,您可以使用模拟数据源应用TDD,以验证控制器操作返回的VM对象是否符合预期。最后,我为每个实际导致UI的控制器操作生成基本的强类型视图(基于ViewModel对象)。

然后用Jquery和CSS播放时间让它看起来很漂亮。