系統架構是整個應用系統程式大的結構
使用系統架構的目的是:降低模組間的耦合度
系統架構包含兩種:1、三層架構 2、mvc
1.1三層架構
三層架構顧名思義,整個架構分為三層:
1、檢視層view:用來接收使用者提交的請求;
2、服務層service:系統業務邏輯
3、持久層dao:運算元據庫的**(dao=data access object)
三層架構之間的關係如圖所示:
上層對下層的使用是通過介面來處理的
1.2 mvc
mvc其實是model view controller的縮寫
view檢視層: 為使用者提供使用介面,與使用者直接進行互動;
model模型: 是處理使用者提交的請求,並計算出響應結果的模組;
controller控制器: 將使用者所有請求**給相應的model處理,根據model的計算結果向使用者提供響應。
1.3mvc與三層架構之間的關係
可能大家在網上或者看到mvc與三層架構都有view層,所以認為mvc就是三層架構,其實不然,mvc與三層架構雖然相似,但是還是不同。
可以看到整體上來看,這是乙個三層結構,有檢視層view、服務層service和持久層dao,但是在檢視層view裡面我們可以看到:有mvc中的v(view)和c(controller),而服務層service和持久層dao組合起來就是m(model),因此我們說mvc和三層架構實際上是不一樣的。
1.4ssh與三層架構的關係
ssh、也可稱作s2sh,是struts2、spring與hibernate三個框架的總稱
struts2:作為view層的實現者,完成使用者的請求接收功能;struts2的action作為整個應用的控制器,完成使用者請求的**以及對使用者的響應。
hibernate:作為dao層的實現者,完成對資料庫的增、刪、改、查功能。
spring(容器:用來裝物件):以整個應用大管家的身份出現。整個應用中所有bean的生命週期行為均有spring來管理,即整個應用中所有物件的建立、初始化、銷毀、以及物件間的關聯關係的維護均由spring進行管理。
spring的使用可以解決企業級開發的複雜性,通過對**進行分類降低模組間的耦合度
其中struts2充當view層,而hibernate作為dao層介面的實現,連線資料庫完成對資料庫的增刪改查。
學習筆記 前言
我很少會寫學習筆記,因為我不太擅長將自己掌握的東西轉換為文字展示給別人來看,但是我卻不能說自己不會講,因為我確實很能說。這自然是我的文字表述能力不足的所造成的問題了。不足的地方自然是我需要補足的地方,所以,我現在嘗試開始學習寫一些筆記。當我把學習當成工具的時候,金錢就成了唯一的目的,慾望也就開始不斷...
C前言 學習筆記
c語言前言 因為計算機只能識別 0 和 1 因此想要計算機執行編寫的程式,必須要通過編譯和鏈結這兩個步驟,簡單說下編譯和鏈結。編譯 把c 語言 翻譯成 0 和 1 工具 clang 編譯器等 指令 cc c 檔名.c 編譯成功,會生成乙個.o 目標檔案 目標檔案跟系統自帶的函式庫合併在一起,生成乙個...
zephyr學習筆記 前言
一直在找適合用於教學嵌入式作業系統。在我心目中,適合用於教學的作業系統應具備如下特點 contiki是非實時作業系統,實時作業系統中的那些機制它幾乎都沒有,用於教學的確是不合適。當初學contiki主要原因是它實現了6lowpan,也是在為將來學華為liteos作準備。之後學ti rtos也是因為大...