ASP.NET MVC中Model View Controller的开发顺序

ASP.NET MVC开发模式,提出了Model、View和Controller的开发思想,在实际开发过程中,首先编写哪一部分的代码,成了仁者见仁,智者见智的问题。在这里,笔者根据实际经验,提出自己的看法。

在使用ASP.NET Webforms方式进行开发时,是首先进行的数据方面的设计。根据用户需求,进行用例设计,并进行ER图设计,根据ER图,列出详细的数据库表及相应的列(属性),在相应的数据库中进行设计数据库。数据库设计完成后,如果是三层模型,则进行ORM工作,如果不是三层架构,笔者就开始写ADO.NET代码,结合.aspx页面,细化相应的页面设计与显示要求。从总体来说,ASP.NET WebForms的设计思想是先从最底层的数据库DB开始设计,然后的设计过程就有些杂了,几乎是页面与代码一同进行的。当然,如果是一个团队进行合作,那么后台开发人员应该是数据库、ORM转换为实体类(如果是三层模型)、BLL来完成工作;同步的,前台设计人员设计页面的控件显示及定制。

到了ASP.NET MVC开发,这种设计思想有了一些变化。比如对于常见的MVC入门教程,往往是从Controller讲起,然后讲View技术,最后讲Model,最典型的就是ASP.NET官网推荐的那个MusicStore网站教程。这样顺序讲的确是最容易被新手所接受的,因为开始讲Controller时不接触对象数据,而是以字符串及变量数据完成数据在View中的显示,讲到Model时,需要接触新概念如EF CodeFirst,难度由浅入深,容易理解。

但实际情况是,一个网站总是要对数据库进行处理的,对于Controller,则表现为要对强类型数据进行相应的CRUD处理,手工写这些代码比较麻烦,可以直接利用MVC EF CodeFirst的模板进行构建。这时,要使用模板构建,就必须首先有强类型的类存在,因此必须有Model类首先写出来。所以,个人的经验是,可以参照以往开发WebForms的经验,首先分析用户需求,得到ER图,直接设计Model实体类(将来就对应相应的数据库表),有了实体类,Controller利用模板进行强类型的代码自动生成工作就解决了。

因此,个人经验:MVC三者的设计开发顺序使用: Model -> Controller -> View 比较好。需要注意的是:建议写好一个Model,就写相应的Controller,然后写View,这样注意点比较集中一些。

实际上,在MVC中,三者的开发顺序没有特定的要求,无论如何的顺序,都可以写出完整的网站来。只是在开发设计中,大家要总结经验,找出最适合自己的顺序。同样,如果是团队开发,当然View的工作就交前台了,后台只做Controller及Model,顺序问题就更好解决。

你可能感兴趣的:(controller)