MVC模式与ASP.NET Core MVC

Posted 苏克主任

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MVC模式与ASP.NET Core MVC相关的知识,希望对你有一定的参考价值。

1978年提出MVC以来,该模式越来越流行,也出现很多成熟MVC框架。Asp.Net Core MVC是基于.net core和mvc模式的代表框架。本篇我们将弄清楚以下两个知识:

  • 什么是MVC

  • 什么是ASP.NET CORE MVC

  1. 什么是MVC

    MVC是软件工程中的一种软件架构模式。它把软件系统分为三个基本部分:模型、视图、控制器。

    MVC居然是一个架构模式,那它也是具有架构模式的特点:在常用的环境下,程序的修改和扩展得到简化,提高程序可重复利用,程序结构更加直观可读。

    MVC通过对自身基本部分分离的同时也赋予了各个基本部分应有的职责。这种职责划分有助于将复杂性得到扩展,使它可以轻松地编码、调试和测试具体的某一部分。这样也有助于专业人员可以专注于自身擅长的领域。

    我们来看下MVC每个部分对应的专业人员是如何划分:

    模型(Model) - 程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。
    视图(View) - 界面设计人员进行图形界面设计。
    控制器(Controller) - 负责转发请求,对请求进行处理。

    说完MVC职责,我们再来看下它们三者间的关系。

    模型(Model) 用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。“ Model ”有对数据直接访问的权力,例如对数据库的访问。“Model”不依赖“View”和“Controller”,也就是说, Model 不关心它会被如何显示或是如何被操作。但是 Model 中数据的变化一般会通过一种刷新机制被公布。为了实现这种机制,那些用于监视此 Model 的 View 必须事先在此 Model 上注册,从而,View 可以了解在数据 Model 上发生的改变。(比如:观察者模式)
    视图(View) 能够实现数据有目的的显示(理论上,这不是必需的)。在 View 中一般没有程序上的逻辑。为了实现 View 上的刷新功能,View 需要访问它监视的数据模型(Model),因此应该事先在被它监视的数据那里注册。
    控制器(Controller) 起到不同层面间的组织作用,用于控制应用程序的流程。它处理事件并作出响应。“事件”包括用户的行为和数据 Model 上的改变。


    另外,很多人会把MVC和三层架构拿来对比。实时应用程序包含以下几层:

    表示层: 负责与用户进行交互
    业务层: 负责实现应用程序的核心逻辑
    数据层: 负责与数据交互,如:CURD(增删更查)

    MVC设计模式基本上用于实现应用程序的表示层。如下图:


  2. 什么是ASP.NET CORE MVC

    ASP.NET Core MVC 是提供了一种基于模式的方式来构建动态网站,从而实现关注点的清晰分离。

    ASP.NET Core框架是一个轻量级的,开源的,可高度测试的演示框架。因此:MVC是一种架构模式,而ASP.NET Core MVC是一种框架

本篇MVC介绍到这,后面继续Asp.Net Core MVC的入门和深入。

最后,祝学习愉快!



以上是关于MVC模式与ASP.NET Core MVC的主要内容,如果未能解决你的问题,请参考以下文章

[七] ASP.NET Core MVC 的设计模式

如何在 ASP.NET Core MVC 中使用依赖注入设计存储库模式?

用数据 ASP.NET CORE MVC Jquery 填充弹出模式

ASP.NET Core 配置 MVC - ASP.NET Core 基础教程 - 简单教程,简单编程

如何使用 asp.net core mvc 在引导模式中加载 AngularJS 代码

简述关于ASP.NET MVC与.NET CORE 的区别