1. 程式人生 > >三層架構,MVC,與ssm的系統架構關係

三層架構,MVC,與ssm的系統架構關係

  • 系統架構是指整個應用系統程式的結構[不是某一門語言特有的,是軟體結構通用的],經常提到的系統架構一般有兩種,三層架構和MVC,這兩種架構之間有區別,是不一樣的概念,但是它們之間的共同點是為了降低系統模組之間的耦合度(降低耦合度可以簡單理解為改動的時候不需要更改很多地方,多人蔘與專案可以分開寫,各寫個的部分,對接的時候是基於介面,內部互不影響)。

1.三層架構

三層架構師指:檢視層view,服務層service,持久層Dao,它們的功能是:
1.view層:用來接收使用者請求的程式碼,比如請求如何分發;
2.service層:系統的業務邏輯主要寫在這裡,比如借書系統會有借書的業務;
3.Dao層

:直接操作資料庫的程式碼,之所以分Dao層,主要是可能相同的sql語句可能使用在比較多的地方,改動的時候可以理解為只改動一處即可。
為了降低耦合度,在這裡,使用面向抽象程式設計,也就是上層對下層的呼叫,直接通過介面來完成,下層對上層的真正服務提供者,是下層實現的介面實現類,實現類是可以更換的,這就實現了層間的解耦合。
image_1cbki7q3rhp98ol1p4pnuh1lov9.png-32.7kB

2.MVC

mvc就是Model模型,view檢視,以及Controller控制器
1.View:檢視,為使用者提供使用介面,與使用者進行互動。
2.Model:模型承載資料,對使用者提交請求進行計算的模組,分為兩類:1.資料承載bean,2.業務承載bean,資料承載bean是指實體類專門承載業務資料的,比如Student,User,業務處理bean是指Service或者Dao物件,專門處理使用者的請求的。
Controller:

控制器,用來將使用者請求轉發給相應的Model進行處理,並且根據Model的計算結果向用戶提供相應的響應。
MVC工作的流程:

1.使用者通過view頁面向服務端提出請求,表單,超連結或者ajax請求。
2.伺服器端Controller控制器接受到請求之後,對請求進行解析,找到相應的Model對請求進行處理。
3.Model處理之後,將處理的結果交回給Controller
4.Controller在接受到處理結果後,找到相應的View頁面,頁面經過資料渲染(填充資料)後,發給客戶端。
image_1cbllj3ji161k9431b19100m10pup.png-47.3kB

3.MVC與三層架構的區別

MVC架構裡面的Controller以及View層合併在一起就是三層架構的View層,而MVC的Model層就包含了三層架構的Service層以及Dao層。
image_1cbllrncp3ib1l3svt41qnc1oni16.png-41.7kB

4.SSM與三層架構的聯絡

SSM,即SpringMVC,Spring與Mybatis的統稱。

1.SpringMVC:作為view的實現者,完成客戶請求的接受功能,它的controller作為整個應用的控制器,完成使用者請求的轉發和對使用者的響應。
2.Mybatis:作為Dao的實現者,完成資料庫的增傷改查等功能。
3.Spring:是整個應用的大管家,整個應用中所有的bean的生命週期行為,都是由Spring來管理的,就是說整個應用中所有的物件的建立,初始化,銷燬,以及物件之間關聯的關係維護,都是由Spring來進行管理。
image_1cblume2ifjtc5lv7mic81qmg1j.png-35.3kB
【轉載來自北京動力節點的視訊教程】