各种思路和顺序都试过。
最开始时先编写Model,毕竟Model是所有一切的基础,再说没有Model,Controller里边用到该怎么办。
后来改成先编写View,View才是用户能看到的东西啊,不知道用户看什么,怎么知道应该提供什么Model。
现在先编写Controller。
在讨论哪种次序最好之前,必须弄清楚“好与不好”的标准。
开发次序好与不好的标准
1. 顺畅
比如编完Model的10个方法,再编Controller的10个方法,再编10个View是不顺畅的。从敏捷的角度看,就是同时开启了多个故事,而这些故事要等到最后才能同时完成,属于不好的实践。
而先编controller中的1个方法,然后马上编会用到的Model,等数据能取出来了(我用LINQ,一般3分钟数据内容就编完了),马上编View,然后调试,就是顺畅的。从敏捷的角度看,就是只开启一个故事,等它结束后再来下一个。
后者最好的地方在于同时能编写/调试/测试/交付的只有大约有限的3~5个文件,思路很集中,也很简单。
2. 不做无用功
我记得当年编写类,二话不说先臆造一堆缺省构造器/参数构造器/“==”/“=”/销毁器……其实到后来发现有一半都从来没被调用过。
Controller是第一个用户能感知的东西(有人认为是View,其实不是,因为如果没有Controller方法,即使输入aspx/cshtml地址也不会出来View的),因此是否会使用一个Model的属性或方法,都在Controller代码里边能带出来的,用到的就编写,不用的就先扔到一边。
之前先编写Model的那段时间,的确留下了很多无用的Model代码。最近改为先编写Controller之后,基本上没有任何没用的代码了。
所以正确的顺序是:先写完一个Action方法,然后定义Model,最后根据Model绑定View;然后是下一个Action……
整体上这两条是我当前评价好与不好的标准,如果项目/团队不同,可能标准也会不同,那么因此得出的最佳顺序也会不同。请灵活参考和使用。
本文转自火星人陈勇 51CTO博客,原文链接:http://blog.51cto.com/cheny/1100181