iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 4
1
自我挑戰組

Ruby on Rails 新手的30個問題!系列 第 4

Day_04 MVC架構?(2)

嗨!各位朋友大家好,打給後,歹嘎吼,胎尬喉,我是阿圓,開始前照往例來張娜美~
https://ithelp.ithome.com.tw/upload/images/20200911/20129191INqWAX90XJ.jpg

昨天跟大家說明了MVC架構的運作方式,不過到底為什麼大家都說要使用MVC呢?難道就沒有缺點了嗎?
當然有的:
我們先來講講兩大缺點:
1. MVC架構的專案,超肥:
因為MVC強調職責分工,所以再開發的過程中會產生很多檔案,這樣會讓專案的檔案數很多。

2. 對新手不太友善:
說真的我一開始在學的時候,覺得這裡很複雜,都聽不太懂,開發的時候甚至一直不斷地切換檔案到眼花,一下子Controller,一下子要寫Model的。

接著來說說優點:
我們直接來看看wiki的介紹:

MVC模式的目的是實現一種動態的程式設計,使後續對程式的修改和擴充簡化,並且使程式某一部分的重複利用成為可能。除此之外,此模式透過對複雜度的簡化,使程式結構更加直覺。

有些人可能看了之後還是不太懂,直接講個例子,MVC架構中,頁面上的資料是統一由Model來存取,當今天客戶變動了資料的結構,我只需要去Model上更改,頁面那些的都不用做太大的更改。

若是像以前大雜燴的寫法,我更動資料結構,我可能需要去修改好幾十個檔案...光想想就是地獄。
所以說:
1. MVC架構對於日後專案的維護十分的友善:
2. 提高了程式碼的可重用性:
多個View可能共用一個Model,同一段程式碼只要寫一次,很DRY!(Don't repeat yourself!)
[^first]:Don't-repeat-yourself
3. Controller 的靈活性:
一個Controller可以跟不同Model、View做連結,去更靈活地完成客戶的需求

看完了這些優點,幾乎都可以忽視他的缺點了XD!
畢竟現在科技越來越發達,檔案數多或是容量大好像已經無法造成太大的威脅了。
而且,隨著不斷練習,對於專案的結構就越來越清楚,MVC操作起來也越來越得心應手了!

好的,MVC的部分就到這邊了,更多詳細的分析及介紹可以參考其他人的筆記或著是wiki

感謝各位看到這邊,若有任何建議,請各位不吝指教!我們明天見!
/images/emoticon/emoticon41.gif


上一篇
Day_03 MVC架構?(1)
下一篇
Day_05 routes?
系列文
Ruby on Rails 新手的30個問題!30

尚未有邦友留言

立即登入留言