好程式設計師前端教程-MVC框架的正確構建

好程式設計師發表於2019-03-20
好程式設計師前端教程MVC框架的正確構建,MVC全名Model ViewController,是模型(model)-檢視(view)-控制器(controller)的縮寫,為一種軟體設計典範。用一種業務邏輯、資料、介面顯示分離的方法組織程式碼,將業務邏輯聚集到一個部件裡面,在改進和個性化定製介面及使用者互動的同時,不需要重新編寫業務邏輯。MVC被獨特的發展起來用於對映傳統的輸入、處理和輸出功能在一個邏輯的圖形化使用者介面的結構中。
MVC開始是存在於桌面程式中的,M是指業務模型,V是指使用者介面,C則是控制器,使用MVC的目的是將M和V的實現程式碼分離,從而使同一個程式可以使用不同的表現形式。比如一批統計資料可以分別用柱狀圖、餅圖來表示。C存在的目的則是確保M和V的同步,一旦M改變,V應該同步更新。 
模型-檢視-控制器(MVC)是Xerox PARC在二十世紀八十年代為程式語言Smalltalk-80發明的一種軟體設計模式,已被廣泛使用。後來被推薦為Oracle旗下Sun公司Java EE平臺的設計模式,並且受到越來越多的使用ColdFusion和PHP的開發者的歡迎。模型-檢視-控制器模式是一個有用的工具箱,它有很多好處,但也有一些缺點。
MVC 是一種使用 MVC(Model View Controller 模型-檢視-控制器)設計建立 Web 應用程式的模式:
1. Model(模型)表示應用程式核心(比如資料庫記錄列表)。
2.View(檢視)顯示資料(資料庫記錄)。
3.Controller(控制器)處理輸入(寫入資料庫記錄)。
MVC 模式同時提供了對 HTML、CSS和 JavaScript 的完全控制。Model(模型)是應用程式中用於處理應用程式資料邏輯的部分。通常模型物件負責在資料庫中存取資料。View(檢視)是應用程式中處理資料顯示的部分。通常檢視是依據模型資料建立的。Controller(控制器)是應用程式中處理使用者互動的部分。通常控制器負責從檢視讀取資料,控制使用者輸入,並向模型傳送資料。
MVC 分層有助於管理複雜的應用程式,因為您可以在一個時間內專門關注一個方面。例如,您可以在不依賴業務邏輯的情況下專注於檢視設計。同時也讓應用程式的測試更加容易。MVC 分層同時也簡化了分組開發。不同的開發人員可同時開發檢視、控制器邏輯和業務邏輯。

其優點在於耦合性低。檢視層和業務層分離,這樣就允許更改檢視層程式碼而不用重新編譯模型和控制器程式碼,同樣,一個應用的業務流程或者業務規則的改變只需要改動MVC的模型層即可。因為模型與控制器和檢視相分離,所以很容易改變應用程式的資料層和業務規則。
模型是自包含的,並且與控制器和檢視相分離,所以很容易改變應用程式的資料層和業務規則。如果把資料庫從MySQL移植到Oracle,或者改變基於RDBMS資料來源到LDAP,只需改變模型即可。一旦正確的實現了模型,不管資料來自資料庫或是LDAP伺服器,檢視將會正確的顯示它們。由於運用MVC的應用程式的三個部件是相互獨立,改變其中一個不會影響其它兩個,所以依據這種設計思想能構造良好的松耦合的構件。
重用性高。隨著技術的不斷進步,需要用越來越多的方式來訪問應用程式。MVC模式允許使用各種不同樣式的檢視來訪問同一個伺服器端的程式碼,因為多個檢視能共享一個模型,它包括任何WEB(HTTP)瀏覽器或者無線瀏覽器(wap),比如,使用者可以透過電腦也可透過手機來訂購某樣產品,雖然訂購的方式不一樣,但處理訂購產品的方式是一樣的。由於模型返回的資料沒有進行格式化,所以同樣的構件能被不同的介面使用。例如,很多資料可能用HTML來表示,但是也有可能用WAP來表示,而這些表示所需要的命令是改變檢視層的實現方式,而控制層和模型層無需做任何改變。由於已經將資料和業務規則從表示層分開,所以可以最大化的重用程式碼了。模型也有狀態管理和資料永續性處理的功能,例如,基於會話的購物車和電子商務過程也能被Flash網站或者無線聯網的應用程式所重用。
生命週期成本低。MVC使開發和維護使用者介面的技術含量降低。
部署快。使用MVC模式使開發時間得到相當大的縮減,它使程式設計師(Java開發人員)集中精力於業務邏輯,介面程式設計師(HTML和JSP開發人員)集中精力於表現形式上。
可維護性高。分離檢視層和業務邏輯層也使得WEB應用更易於維護和修改。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913864/viewspace-2638841/,如需轉載,請註明出處,否則將追究法律責任。

相關文章