2.5 MVC项目的结构

1.默认结构

MVC应用程序在创建后会生成默认的目录和文件,通常情况下会包含多个目录,每个目录和文件都有不同的功能,如图2-14所示。MVC默认目录结构中各目录的功能见表2-1。

图2-14 MVC默认的目录结构

表2-1 MVC默认目录结构中各目录的功能

以上的结构并不是必需的,可以根据具体情况做调整,比如在大型项目中往往会把数据、业务逻辑等放到单独的一个项目中。

MVC的应用程序项目在生成后也会生成默认的文件,其作用见表2-2。

表2-2 MVC默认文件的功能

2.目录结构的约定

MVC应用程序的目录结构默认遵循一些约定。

(1)控制器都以Controller为后缀并且保存在Controllers目录中。如User控制器的名称为UserController。

(2)Views目录存放应用程序的视图。

视图文件默认的目录为:

        Views\[ControllerName]\[ActionName].cshtml

比如控制器类UserController中有Create类的Action方法,则此Action方法默认对应的视图存储结果为:

        Views\User\Create.cshtml

视图中有一个共享目录Views\Shared\,里面可以自由存放视图,而不受默认目录结构的限制。目录结构的约定通常优于配置的效果,这意味着我们可以根据约定编写应用程序而不需要进行配置,并且编写的程序更容易被其他人员浏览、阅读、调试和维护,还可以减少不必要的沟通。