設計模式
一.什么是編程里面的設計模式?
1.設計模式是一套被反復使用,多數人知曉的,代碼設計經驗的總結。
2.模式必須是典型問題(不是個別問題)的解決方案。
二.設計模式的作用
1.解決一類問題的成功經驗。
2.為了可重用代碼,讓代碼更加容易被他人理解,保證代碼可靠性。
ModelI模式
ModelI模式是將業務邏輯與頁面顯示融合在一起的設計模式,開發形式有兩種,第一種是以純Jsp文件形式進行開發,第二種是使用Jsp+javabean的開發形式。
1.純JSP開發方式:在jsp文件中直接嵌入java腳本。
優點:對於小型項目來說簡單方便。
缺點:
a.在jsp頁面中多種語言代碼混合,增加了開發難度.
b.不易於系統后期維護和拓展。
c.系統出現運行異常時不易於代碼調試。
2.jsp+javabean的開發方式:使用javabean封裝業務處理及數據庫操作,使用jsp調用javabean實現內容顯示。
優點:
a.頁面代碼相對簡潔
b.業務處理和數據庫操作封裝到javabean中,提高了代碼的重用性。
c.通過對javabean的修改,提高了系統的拓展性。
d.便於系統調試。
缺點:
a.業務邏輯依然由jsp來完成。
b.jsp頁面依然需要嵌入java代碼。
那么如何解決ModelI模式的弊端?引入Model2模式。生活中的解決方案
ModelII模式(簡單的MVC模式):
引用Model II,在業務邏輯層和視圖層之間加一個servlet(控制層),該層主要負責數據轉發和頁面轉發,即解決如下問題:
1、從哪個頁面接受數據?
2、調用哪個業務邏輯方法處理該數據?
3、處理完以后,如何把處理結果發送到哪個頁面?
Model 1就是jsp+javabean是純JSP;
Model 11 是jsp+servlet+javabean模式,簡單的MVC 。
MVC:Model+View+Controller
模型(Model):接收視圖請求數據,進行業務處理,返回處理結果。
視圖(View):交互界面,負責數據采集和處理用戶的請求。
控制器(Controller):接收用戶端請求,將模型和視圖聯系在一起,實現用戶請求的功能。是起到承上啟下的作用。
MVC模式的優點:
1.各個模型層各司其職,互不干涉。
2.有利於開發中的分工。
3.有利於組件的重用。
MVC模式的缺點:
1.系統結構和實現復雜。
2.視圖和控制器過於緊密。
3.不太適合小型應用程序,適合大型應用程序。
常見的MVC框架
Struts2、Struts 1、JSF、Spring MVC、Webwork2等