iT邦幫忙

DAY 7
0

於是我e路向前系列 第 7

小小上班族體驗生活part1_MVC架構

[上一篇在這]what's going on??

暑期實習的兩個月中,我和趴呢的工作是Java Web的開發。對於一個只有在學校簡單修過網頁程式設計的人來說,第一次接觸MVC架構,真的是一個頭兩個大......

MVC架構是軟體工程中的一種架構模式,分別代表Model、View、Controller,目的是實現動態的程式設計,使後續修改程式碼的工作得以簡化,並讓部分程式碼得以重複使用。其中Model可以視為程式核心的邏輯與設計,包含程式應有的功能,或者資料庫設計;View顧名思義就是處理介面的部分;Controller則負責轉發請求並進行處理。

以下是維基百科中介紹的MVC架構的優點:
首先,多個檢視能共享一個模型。在MVC設計模式中,模型響應用戶請求並返迴響應資料,檢視負責格式化資料並把它們呈現給用戶,業務邏輯和表示層分離,同一個模型可以被不同的檢視重用,所以大大提高了代碼的可重用性。

能用多個View存取同一個Model真的是很重要的一項特性吧。以下敘述就提供了一個最好的例子:「如今,同一個Web應用程式會提供多種使用者介面,例如用戶希望既能夠透過瀏覽器來收發電子信件_,還希望透過手機來存取電子信箱__,這就要求Web網站同時能提供Internet介面和WAP介面_」隨著使用者在不同需求下送出的request,要求Model回傳需要的資料,讓開發的網頁得以以「動態」的方式呈現。

其次,控制器是自包含(self-contained)指高獨立內聚的物件,與模型和視圖保持相對獨立,所以可以方便的改變應用程式的資料層和業務規則。由於MVC模式的三個模組相互獨立,改變其中一個不會影響其他兩個,所以依據這種設計思想能構造良好的少互擾性的構件。

由於MVC架構中三個模組互相獨立,使得開發者可以單獨修改程式邏輯或者介面,而不至於影響到其他部分。這在開發大專案的時候,是很重要的一大優點。不然,每次修改都要牽一髮而動全身,光用膝蓋想都覺得是可怕的事情阿...

有人會說MVC架構的缺點是結構比較複雜,需要在開發之初就經過縝密的規劃,但我覺得這同時是優點也是缺點。如果可以一開始就將架構設計、規劃完整,在開發的時候就可以透過完善的分工增加開發效率,因為不同部分互不影響,所以在分工上面也很好規劃;但是,如果開發到一半,才發現架構需要調整,就會是比較麻煩的事情。當時,我和趴呢在還不是很清楚的狀態下,就匆匆忙忙開始開發,到後期才發現很多地方一開始沒有想清楚、當Model一修改,就有許多地方要跟著調整,改到後來不只程式碼一團亂,我們的腦袋也都打結啦。

而且,就是因為MVC架構將一個應用程式分成了三個部分,使得一個專案也會涵蓋更多的檔案。所以,一開始會覺得基於成本效益考量,中小型專案比較不適用。但現在越來越多框架提供完善的MVC骨架,使得開發起來更加容易上手,而且其對於大量使用者介面、邏輯複雜的程式,真的能提供比較清楚、有效率的幫助,使得MVC架構還是有很大的吸引力囉!

參考網站:
http://zh.wikipedia.org/wiki/MVC
http://lms.tzuchi.com.tw/epaper/artical/index.php?id=file/28/foot\_1

====================================================

【每日一句】成熟的第一個標誌,就是學會減少幻想卻保留希望,善待眼下仍憧憬未來。

超喜歡這句!慢慢長大了,總會下意識的阻止一些不切實際的幻想,更務實的面對當下的事物。當然,要保留希望、憧憬未來,也是一個很重要的部分,當心還保有一些單純的信仰,才能夠成為持續前進的燃料。

朋友在看到這句時,問說:變得更現實的同時,會不會也遺忘了自己的夢想?我覺得,當漸漸長大,開始認知到自己其實是有一點能力去學習或者改變些什麼,會開始分清楚目標和夢想,我甚至覺得「有點不切實際的目標」才會稱為夢想,當我們把一件事情定位成「目標」時,心理上感覺的可行性就高了很多,更會刺激自己努力去達到,而不只是「想」。所以,或許最後還要再加上一句吧:「莫忘初衷!

[下一篇在這]keep going on...


上一篇
小小上班族體驗生活part0
下一篇
小小上班族體驗生活part2_Maven
系列文
於是我e路向前30

尚未有邦友留言

立即登入留言