最近在学习MVC3,对于选择一个框架来开发一个系统总结了个人的看法,使用框架来做开发就意味着开发的过程中需要遵循某些约定好的东西,例如选择WebForm来开发系统,就尽量的接爱“事件响应 和 服务器端控件”。选择了MVC就要把C#代码嵌到页面去的这个事实到页面去的这个事实,当然如果使用了某些RIA框架后可能不出现这种情况(因为页面上的东西基本都是异步请求回来的)。特别是多人开发的时候,我们有必要遵循某些套路来写代码,例如上面这个例子,也许写Model、写View和写Action是三个不同的人来完成的时候,“如果遵循这一个Action会有一个Model来支持它”的这种套路来走的话,每个人都很容易找到代码的下手点,写View的人知道如何去声明页面为强类型(他会去找相关的Model),写Action的人知道return View(object model)中的model是啥,也知道用于处理Post的Action的参数是什么,写Model的人需要很了解业务,知道哪些字段是必填的,那些字段有长度限制等等,但是他也许不知道这个Model会被拿去怎么展示!
MVC中的Model是和业务紧密相关的,有什么样的业务需求就会产生什么样的Model,并且会有相应的Action来控制它,有相应的View来展示它。
如果基于这个想法来开发系统的话,很有可能得出这样一个简要的开发流程:
研究业务-->转化为对应的Model,根据业务需求对Model的属性配置验证特性-->设计数据库表来对数据进行存放(也许是xml也不一定)-->设计View来展示它,设计Action来处理它......。