认识了物件导向的基本概念以後,就来讲程序设计比较进阶概念,也就是MVC架构,如果要让写程序的能力更进一步的话,那肯定要学会MVC!
MVC这三个英文字母分别是Model、View、Controller:
三者之间会形成一个分工模式、彼此之间相互作用。举一个购物网页的例子来说,当使用者在View上看到喜欢的东西点击了「加入购物车」的按钮,而Controller这时就会接收到从View发送过来的请求,也就是「加入购物车」,并将这个请求告诉专门处理这件事情的Model,请它将此商品加到使用者的购物车,等Model处理完以後,就会将最新的资讯更新到View上,因此使用者就可以在View上的购物车看到自己刚刚加入购物车的商品了。
图片来自:https://upload.wikimedia.org/wikipedia/commons/thumb/a/a0/MVC-Process.svg/200px-MVC-Process.svg.png
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 位置。 浮动...
一般在使用资料库新增资料的时候,都会看到新建资料的日期跟时间,今天会再sqllite上加入日期。 我...
群益 API 是利用自己开发的程序,结合群益 API 在群益券商下单的一种方式,通常是做程序交易下单...
有句话说,没用过 unmarshal 就等於没写过 go func Unmarshal(data [...
NSIS (Nullsoft Scriptable Install System) 是一个建立安装...