【从实作学习ASP.NET Core】Day02 | MVC 的架构

MVC架构

MVC是软件工程中的一种软件架构模式,是基於关注点分离(seperation of concerns, SOC)的概念,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。

当一个专案规模变大以後难免会有上千上万行的程序码,如果这些程序码写在一个档案的话,对於後续开发和维护都会是一个很大的障碍,可能光是要找到问题点就需要花上大量时间成本,所以就衍生出了 MVC 架构把程序码以功能归类分类,把介面设计、商业逻辑和资料储存切割出来,达到提升阅读与方便维护的效果,也因此提升了团队分工的成效:

  • Model:负责资料存储,处理资料与资料库之间的操作
  • View:负责前端画面与逻辑显示,就是使用者会看到的介面
  • Controller:负责商业逻辑处理,管控流程和回应,并以路由传递资料

互动逻辑

以使用者访问程序为例:

  1. 使用者透过网址url向程序发出请求
  2. Controller 依照路由决定该做什麽
  3. Controller 透过 Model 向资料库提取资料
  4. Model 把资料传回 Controller 处理
  5. Controller 把处理好的资料传给 View 做排版显示
  6. View 回传到浏览器给使用者看

专案目录

.NET每个版本的目录或多或少都有些差别,但核心东西没有变:

  • Controllers、Models、Views 资料夹:我们程序的主角
  • appsettings.json:储存环境变数的地方,例如资料库连接字串
  • Startup.cs:程序的组态档,服务需要从这边注册
  • Program.cs:程序的起始点

明天再来看看要怎麽实作 MVC 这三个东西吧!


<<:  Golang 转生到web世界 - 表单

>>:  【Day 14】jQuery基本语法

Day 04: 进入主题前的补充:SOLID

为什麽要补充? 当决定铁人赛的题目是 Design Patterns 时,除了先 Google 看看...

第 54 天 - 学习 PHP CLI

使用 apt install php7.4-cli 安装 安装 log: root@test:/ho...

【从零开始的 C 语言笔记】第十一篇-指标

不怎麽重要的前言 上一篇我们总结了scanf的观念,也出了一个小小的作业希望让大家熟悉一下scanf...

Day 1. Pre-Start × 微前言

行前导读 第一次参加铁人赛的你,先礼貌性来个自我介绍吧?! 嗨大家好! This is Ian ,...

[Day 12] Forensics 小挑战

今天心情蛮好的,期待叻2周终於等到这天了,生平第一次染发:) 这篇文有一半是我边染发变打出来的~ 染...