IT铁人DAY 5-MVC 介绍

  认识了物件导向的基本概念以後,就来讲程序设计比较进阶概念,也就是MVC架构,如果要让写程序的能力更进一步的话,那肯定要学会MVC!


什麽是MVC?

  MVC这三个英文字母分别是Model、View、Controller:

  • Model:用来封装工程师撰写程序应有的功能或是对资料库进行管理维护的动作,可以实现一些演算法等等。
  • View:即图形介面,简单来说就是使用者看到的地方。
  • Controller:负责处理从View过来的请求,并针对请求做不同的处理。

MVC是怎麽运作的?

  三者之间会形成一个分工模式、彼此之间相互作用。举一个购物网页的例子来说,当使用者在View上看到喜欢的东西点击了「加入购物车」的按钮,而Controller这时就会接收到从View发送过来的请求,也就是「加入购物车」,并将这个请求告诉专门处理这件事情的Model,请它将此商品加到使用者的购物车,等Model处理完以後,就会将最新的资讯更新到View上,因此使用者就可以在View上的购物车看到自己刚刚加入购物车的商品了。

https://ithelp.ithome.com.tw/upload/images/20210920/20140743bHmFzCGcaD.png

图片来自:https://upload.wikimedia.org/wikipedia/commons/thumb/a/a0/MVC-Process.svg/200px-MVC-Process.svg.png

使用MVC有哪些好处?

可重用性

  MVC 三者之间可以是一对多或是多对多的关系,现今有许多应用程序都开发了一种以上的版本,像是网页版、Windows版、iOS、安卓等等,这些版本所呈现出来的画面肯定不同,但是要显示给使用者的资料却是一样的,这时候View与Model的关系就是多对一,同一个Model只要传送使用者请求的资料给View,不同的View再将资料呈现各版本设计的样子,如此一来就会减少很多重复的程序码,也提高程序的可重用性。

灵活度高

  MVC 三个物件彼此相互独立,只要撰写好各自该做的事情,就能够让 Controller 去连接不同的Model与View,来达到使用者的需求。

易於开发

  使用MVC可以让整个专案的功能做分类,哪些功能是由哪些Model去执行,而哪个画面该由哪个View来呈现,让分工更加容易,每个人各自负责自己的部分去进行开发,彼此也不会互相影响。

  以上就是MVC的介绍,没有讲得很深,但也足够让大家知道MVC是怎样的一个程序架构,并且了解它们之间是怎麽运行的。之後再写程序的时候就可以想想物件与物件之间的关系,再透过MVC的概念就会知道程序要怎麽设计才会乾净、简洁、有效率!


除此之外,也欢迎大家走走逛逛关於我们团队夥伴的文章
lu23770127 - SASS 基础初学三十天
10u1 - 糟了!是世界奇观!
juck30808 - Python - 数位行销分析与 Youtube API 教学
SiQing47 - 前端?後端?你早晚都要全端的,何不从现在开始?


<<:  Day-05 Easy Regression Example

>>:  【Day 05 】- 藏起来的 Module 还是被发现了QuO(基於暴力搜寻 PE Header 的方法与解法)

理解网际网路协定(二):浮动 IP、固定 IP、虚拟 IP,这麽多种 IP 都是什麽?

理解了 IP 位置的组成,我们接着来看看一些常被提到的相关名词:浮动、固定及虚拟 IP 位置。 浮动...

android studio 30天学习笔记-day 21 -获得日期

一般在使用资料库新增资料的时候,都会看到新建资料的日期跟时间,今天会再sqllite上加入日期。 我...

【C# 群益 API 开发教学】取得商品报价、Tick、最佳 5 档教学 #CH3 (附范例)

群益 API 是利用自己开发的程序,结合群益 API 在群益券商下单的一种方式,通常是做程序交易下单...

[13th][Day18] Unmarshal

有句话说,没用过 unmarshal 就等於没写过 go func Unmarshal(data [...

笔记我使用 NSIS 制作 Windows 安装档的过程

NSIS (Nullsoft Scriptable Install System) 是一个建立安装...