javaweb應用的MVC分層,開發太方便了!!!

javaweb應用的MVC分層

讓我們先來了解一下,MVC開發模式的組成吧!!!

在這裏插入圖片描述

看完這張圖,你有什麼看法,知道了這樣的開發模式後,動手創建一個工程吧!!!

在這裏插入圖片描述

如圖是根據上圖創建的一個實例:
在這裏插入圖片描述
當然有很多的優點,相對於javaweb的初級開發,
優點:

  1. 耦合性低
    視圖層和業務層分離,這樣就允許更改視圖層代碼而不用重新編譯模型和控制器代碼,同樣,一個應用的業務流程或者業務規則的改變只需要改動MVC的模型層即可。因爲模型與控制器和視圖相分離,所以很容易改變應用程序的數據層和業務規則。
    模型是自包含的,並且與控制器和視圖相分離,所以很容易改變應用程序的數據層和業務規則。如果把數據庫從MySQL移植到Oracle,或者改變基於RDBMS數據源到LDAP,只需改變模型即可。一旦正確的實現了模型,不管數據來自數據庫或是LDAP服務器,視圖將會正確的顯示它們。由於運用MVC的應用程序的三個部件是相互獨立,改變其中一個不會影響其它兩個,所以依據這種設計思想能構造良好的鬆耦合的構件。

  2. 重用性高
    隨着技術的不斷進步,需要用越來越多的方式來訪問應用程序。MVC模式允許使用各種不同樣式的視圖來訪問同一個服務器端的代碼,因爲多個視圖能共享一個模型,它包括任何WEB(HTTP)瀏覽器或者無線瀏覽器(wap),比如,用戶可以通過電腦也可通過手機來訂購某樣產品,雖然訂購的方式不一樣,但處理訂購產品的方式是一樣的。由於模型返回的數據沒有進行格式化,所以同樣的構件能被不同的界面使用。例如,很多數據可能用HTML來表示,但是也有可能用WAP來表示,而這些表示所需要的命令是改變視圖層的實現方式,而控制層和模型層無需做任何改變。由於已經將數據和業務規則從表示層分開,所以可以最大化的重用代碼了。模型也有狀態管理和數據持久性處理的功能,例如,基於會話的購物車和電子商務過程也能被Flash網站或者無線聯網的應用程序所重用。

  3. 生命週期成本低
    MVC使開發和維護用戶接口的技術含量降低。

  4. 部署快
    使用MVC模式使開發時間得到相當大的縮減,它使程序員(Java開發人員)集中精力於業務邏輯,界面程序員(HTML和JSP開發人員)集中精力於表現形式上。

  5. 可維護性高
    分離視圖層和業務邏輯層也使得WEB應用更易於維護和修改。

  6. 有利軟件工程化管理
    由於不同的層各司其職,每一層不同的應用具有某些相同的特徵,有利於通過工程化、工具化管理程序代碼。控制器也提供了一個好處,就是可以使用控制器來聯接不同的模型和視圖去完成用戶的需求,這樣控制器可以爲構造應用程序提供強有力的手段。給定一些可重用的模型和視圖,控制器可以根據用戶的需求選擇模型進行處理,然後選擇視圖將處理結果顯示給用戶。

在這裏插入圖片描述

在後來學習JAVAEE的時候,會發現這種結構也會存在很多問題:

1.jsp頁面中需要使用符號來嵌入很多的java代碼,造成頁面結構混亂
2.servlet和servlet負責了大量的跳轉和運算工作
3.耦合緊密,程序複用性低

可以通過spring框架來很大程度上地解決,
通過AOP和IOC兩大特性的加癡,把所有類之間的依賴關係完全通過配置文件的方式代替,同時把bean很好的管理到了容器中,使得耦合性大大降低,程序複用性提高

OVER!!!
陌生人,一起加油吧!!!
長路漫漫,JAVA爲伴!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章