【从实作学习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基本语法

【履历要点 i 】来自大公司资深 Recruiter 的建议

今天差点忘记打文章,好想睡.. 这篇将统整上次我半夜撑着听完 Mayuko 和 levels.fyi...

【day23】存local端 帐号 (SharedPreferences)

好的,因为我们有时候除了用Firebase之外,我们可能会用其它服务!而Firebase它的Aut...

Day 30--Retrofit 登入练习

前置作业 build.gradle dependencies记得加入使用retrofit2 impl...

机器学习:模型训练架构

分散式运算架构 MapReduce 利用函式语言程序设计的概念,将分散运算分为映射(Map)和归纳...

分散式链路追踪 - Jaeger

在 OpenTelemetry 中有提到 trace 的概念。而 Trace 由多个 Span 组成...