asp.net MVC 约定

前一段时间一直做winFrom方面的事情,快有一年没有做web方面的工作了,现在项目需要用MVC来做,以前都是webFrom 在分个层。但是生成的页面恶心的不是一星半点。

ASP.NET MVC 应用对约定的依赖性很强。如采用了约定的目录命名结构,hi在Views目录下面查找视图模版文件。这样的好处是减少配置,(在最开始的时候我确实是创建了一个MVC的工程后,在web.config下面找相关页面的配置信息,却什么也没有发现,还喃喃自语:不符合逻辑啊!)

约定优于配置

使应用程序运行的三个核心目录可以在ASP.NET MVC中找到

Controllers 控制器文件夹

Models 模型文件夹

Views 视图文件夹

而不必去web.config中去寻找这写文件夹的名称,它们约定在了配置文件中,而不需要我们去理会它为什么是这样。(这让我想起了三体2中的叶文杰给逻辑定义的宇宙社会学中两条不能自证的公理)我们只需要知道道理就是这个道理,事情就是这个事情。这就是约定。

预期程序结构

1.每个Controller类的名字都是以Controller结束,如创建程序时目录里的HomeController类

2.应用程序的所有视图放在单独的Views文件夹下

3.控制器使用的视图是在Views主目录的一个子目录中,这个子目录是根据控制器名称去掉Controller来命名。例如 HomeController.cs对应了一个Views/Home的目录 ,这个目录里放着和HomeController.cs这个控制器相关的视图

这样做的好处是减少了配置文件,所有的内容都是基于约定好了的。前端可以专注于Views ,开发人员可以专注于Controller。