ASP.NET MVC学习笔记01初始

技术栈跳来跳去,最后还是选择回归最初。从Asp.Net的WebFrom到PHP到Python的Django,最后还时回到了最熟悉的.net平台。三层之前只做过些许了解,这次便不再去看他,直接从MVC开始做起。MSDN作为微软开发者的支持中心,就依照官方的教程,开始MVC的学习之旅,并略作记录,方便日后回顾——闲话少叙。


创建项目

新建项目

开发环境使用了Win10 + Visual Studio 2017 Community,并使用了远程云服务器中的SqlServer 2008 R2 。

修改身份验证方式

点击确定后选择MVC,注意右侧点击更改身份验证,否则没有登录和注册模块,这里先选择个人用户账户。

选择MVC 并修改身份验证方式

项目结构

稍作等待项目创建完成,然后我们来看一下整个项目的目录结构,只有了解清楚目录结构,才能理解整个MVC环境。

什么是MVC

实践固然重要,但是理论依据也很重要。下面说一下什么是MVC,以及经常被混为一谈的三层架构。

说到MVC和三层架构,就不得不说到耦合性这个概念,这个概念要讲清楚,不单独写一篇引经据典的论述个半小时是讲不完的。这里就简要解释下:耦合性:指的就是模块之间的关联度。(这样解释肯定不够严谨,最好自己使用搜索引擎了解清楚)而三层架构和MVC,都是要实现低耦合,高聚合从而提高模块的或者说代码的重用率,来提高开发效率和节省开发时间。同时,不论是MVC还是三层架构,都是将表现层(Views)和逻辑层(M/C)拆分开来,不论是修改视图界面,还是业务逻辑,都可以单独拆开来修改,不必牵一发而动全身。

那么MVC和三层架构到底有什么区别呢?就ASP.NET平台而言,MVC,通常来说其实是指ASP.NET MVC——微软的开发团队基于MVC开发的一个易于被测试的框架。 所以可以这样理解,在ASP.NET环境下,我们所说的MVC,其实就是三层架构的一个官方实例。(个人拙见,若有错误,望指出)

再说回来,那么MVC中的Module View Controller分别是什么呢?

  • Model : 模型,作为应用程序的主体部分,封装了与应用程序的业务逻辑相关的数据以及对数据的处理方法,包括数据格式验证以及数据库的操作等。
  • View:视图,即为与用户交互的界面,不仅可以接收用户的输入数据,也可以向用户展示相关的数据。视图一般不涉及程序上的逻辑,使得页面独立于逻辑。
  • Controller:控制器主要是进行逻辑处理,控制实体数据在视图上的展示,并调用模型处理业务请求。总之,控制器能在不同的层之间控制应用程序的流程,起到了组织的作用。

启动调试

啰啰嗦嗦讲了一大堆,来看看ASP.NET MVC到底是怎么样吧。

按F5启动调试。(如果安装的是Chrome浏览器,VS2017会自动识别并调用Chroem调试,)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏TEG云端专业号的专栏

解密腾讯云分布式块存储系统 : HCBS实现机制

HCBS 是一种两层架构的分布式存储,用户IO与后端存储池以直通的方式交互,两层架构的好处是将 IO 路径化繁为简,既降低了因网络通信带来的 IO 延时,同时也...

2.5K40
来自专栏FreeBuf

联想Z470黑化之路:硬件升级还能刷苹果Mac系统!

11年入手了一台联想Z470,到现在也有些年头了,当年是看中了它的外观,现在想来性能是它的短板。然而为了工作需要,我便又购置了一台高性能电脑。现如今便想着怎么处...

43650
来自专栏数据和云

技术前沿:分布式缓存Redis Cluster在华泰证券的探索与实践

Redis Cluster作为最热门的开源分布式缓存,在券商领域会有怎样的应用场景?本文从华泰证券的应用现状出发,介绍了Redis Cluster在华泰证券的大...

20720
来自专栏CDN及云技术分享

原来你是这样的http2

目前HTTP/2.0(简称h2)已经在广泛使用(截止2018年8月根据Alexa流行度排名的头部1千万网站中,h2占比约29%,https://w3techs....

763130
来自专栏雨过天晴

原 荐 收集微信跳一跳的辅助

20220
来自专栏文渊之博

数据库压缩备份提高备份效率

背景     在数据库的备份过程中有很多参数,前几日发现公司的备份数据库job运行的很慢,就去研究了一下,发现在备份程序中都没有启用压缩,加上压缩以后有发现效率...

26490
来自专栏数据和云

ASM的备份解析与恢复

编辑说明:《Oracle性能优化与诊断案例精选》出版以来,收到很多读者的来信和评论,我们会通过连载的形式将书中内容公布出来,希望书中内容能够帮助到更多的读者朋友...

34260
来自专栏张高兴的博客

张高兴的 Windows 10 IoT 开发笔记:部署 ASP.NET Core 2 应用

21620
来自专栏斑斓

大数据系统的Lambda架构

在大数据处理系统中,如何有效地将real time与batch job结合起来,既发挥前者对响应的实时性,又能解决对海量数据的分析与处理?答案就是Lambda架...

53390
来自专栏草根专栏

使用 Moq 测试.NET Core - Why Moq?

在一个项目里, 我们经常需要把某一部分程序独立出来以便我们可以对这部分进行测试. 这就要求我们不要考虑项目其余部分的复杂性, 我们只想关注需要被测试的那部分. ...

16830

扫码关注云+社区

领取腾讯云代金券