Day 18 Rails MVC

What is MVC?

先招唤 wiki 大大出来解释一下 MVC 是甚麽:

MVC模式(Model–view–controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。
模型(Model) - 程序设计师编写程序应有的功能(实现演算法等等)、资料库专家进行资料管理和资料库设计(可以实现具体的功能)。
视图(View) - 介面设计人员进行图形介面设计。
控制器(Controller)- 负责转发请求,对请求进行处理。

阿修说文解字

MVC 是一种设计模式,用来拆解程序码的架构,让每个角色都只做他们该做的事情,也就是在分类我们的 code。
Rails 有使用到 MVC 架构来分类,MVC 各自在做的事如下:
Model:跟资料有关,负责处理关联性、验证、演算法、商业逻辑等等。
像是资料表之间是一对一还是一对多关联以及哪些栏位一定需要被输入。
View:跟显示画面有关,负责显示使用者看到的画面。
Controller:跟动作有关,控制 Model 与 View 间资料的传递。
像是要捞哪些资料出来显示或是是要新增、修改、删除资料。

Why MVC?

像是大公司会分成很多部门,每个部门负责做他们特定的工作,进而维持整间公司的运作。
那 coding 也是一样,因为如果没分类 code 的话,写一个大的专案到後面会发现所有的东西都写在一起非常混乱,所以才需要打造出一种设计模式,将职责区分清楚,使用这种方式可以更方便的去维护我们写的 code,也方便其他人来接手你的专案。
而这也不只是可以应用在後端上面,不管前端後端或是 web 以外的地方都可以套用这个概念。
用 Rails 做网页的时候使用这种架构可以让工程师在接手一个新专案时更容易维护,因为 Rails 有他自己的惯例,通常工程师都会遵守这个惯例将档案放在该放的位置方便查找与修改。

参考:
[1]wiki:MVC


<<:  [Day 20 - React] 网页UI组件化 — React component

>>:  Day 18. UX/UI 设计流程之五:GUI Design (下)

Day16-sklearn(1)正规化StandardScaler、MinMaxScaler、MaxAbsScaler

正规化 缩小资料的呈现比例 可使数值呈现在一定的范围内 使我们在训练模型时,增加梯度下降的容易度并提...

Day24:使i用 ForEach、ScrollView 构建 UI

前言 上篇文章讲了加数据进去, 今天来刻 UI。 实作 添加一些 image 进去 asset: 在...

企划实现(20)

在这篇补充一下前面忘记提到的,在设立公司时会需要选择要设立的形式,有行号,有限公司,股份有限公司差别...

Day 15 - 用 canvas 做打弹珠

import "./styles.css"; import useBall fr...

Day 1 - 浅谈 Kubernetes 的架设与管理

本文将於赛後同步刊登於笔者部落格 有兴趣学习更多 Kubernetes/DevOps/Linux 相...