更新時(shí)間:2021-01-20 16:11:31 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽3080次
架構(gòu)模式是一個(gè)通用的、可重用的解決方案,用于在給定上下文中的軟件體系結(jié)構(gòu)中經(jīng)常出現(xiàn)的問(wèn)題。架構(gòu)模式與軟件設(shè)計(jì)模式類(lèi)似,但具有更廣泛的范圍。
模型-視圖-控制器模式,也稱(chēng)為MVC模式(Model View Controller)。用一種業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方法組織代碼,將業(yè)務(wù)邏輯聚集到一個(gè)部件里面,在改進(jìn)和個(gè)性化定制界面及用戶(hù)交互的同時(shí),不需要重新編寫(xiě)業(yè)務(wù)邏輯。MVC被獨(dú)特的發(fā)展起來(lái)用于映射傳統(tǒng)的輸入、處理和輸出功能在一個(gè)邏輯的圖形化用戶(hù)界面的結(jié)構(gòu)中。它把軟件系統(tǒng)分為三個(gè)基本部分:
模型(Model):負(fù)責(zé)存儲(chǔ)系統(tǒng)的中心數(shù)據(jù)。
視圖(View):將信息顯示給用戶(hù)(可以定義多個(gè)視圖)。
控制器(Controller):處理用戶(hù)輸入的信息。負(fù)責(zé)從視圖讀取數(shù)據(jù),控制用戶(hù)輸入,并向模型發(fā)送數(shù)據(jù),是應(yīng)用程序中處理用戶(hù)交互的部分。負(fù)責(zé)管理與用戶(hù)交互交互控制。
視圖和控制器共同構(gòu)成了用戶(hù)接口。
且每個(gè)視圖都有一個(gè)相關(guān)的控制器組件??刂破鹘邮茌斎?,通常作為將鼠標(biāo)移動(dòng)、鼠標(biāo)按鈕的活動(dòng)或鍵盤(pán)輸入編碼的時(shí)間。時(shí)間被翻譯成模型或試圖的服務(wù)器請(qǐng)求。用戶(hù)僅僅通過(guò)控制器與系統(tǒng)交互。


結(jié)構(gòu)
模型組件包含應(yīng)用程序的功能內(nèi)核,他封裝了相應(yīng)的數(shù)據(jù)并輸出執(zhí)行特定應(yīng)用程序處理的過(guò)程;模型也提供訪(fǎng)問(wèn)數(shù)據(jù)的函數(shù),這些數(shù)據(jù)有獲得待顯示的數(shù)據(jù)的視圖組件使用。
控制器代表用戶(hù)調(diào)用所有這些過(guò)程。
目的
實(shí)現(xiàn)一種動(dòng)態(tài)的程序設(shè)計(jì),是后序?qū)Τ绦虻男薷暮蛿U(kuò)展簡(jiǎn)化,并且使程序某一部分的重復(fù)利用稱(chēng)為可能。
通過(guò)對(duì)復(fù)雜度的簡(jiǎn)化,使程序結(jié)構(gòu)更加直觀。
將信息的內(nèi)部表示與信息的呈現(xiàn)方式分離開(kāi)來(lái),并接受用戶(hù)的請(qǐng)求。它分離了組件,并允許有效的代碼重用。即,將模型和視圖的實(shí)現(xiàn)代碼分離,從而使同一個(gè)程序可以使用不同的表現(xiàn)形式。比如一批統(tǒng)計(jì)數(shù)據(jù)你可以分別用柱狀圖、餅圖來(lái)表示。C存在的目的則是確保模型和視圖的同步,一旦模型改變,視圖應(yīng)該同步更新。
特點(diǎn)
MVC重要特點(diǎn)就是兩種分離:
視圖和數(shù)據(jù)模型的分離:使用不同的視圖對(duì)相同的數(shù)據(jù)進(jìn)行展示;分離可視和不可視的組件,能夠?qū)δP瓦M(jìn)行獨(dú)立測(cè)試。因?yàn)榉蛛x了可視組件減少了外部依賴(lài)?yán)跍y(cè)試。(數(shù)據(jù)庫(kù)也是一種外部組件)
視圖和表現(xiàn)邏輯(Controller)的分離:Controller是一個(gè)表現(xiàn)邏輯的組件,并非一個(gè)業(yè)務(wù)邏輯組件。MVC可以作為表現(xiàn)模式也可以作為建構(gòu)模式,意味這Controller也可以是業(yè)務(wù)邏輯。分離邏輯和具體展示,能夠?qū)壿嬤M(jìn)行獨(dú)立測(cè)試。
優(yōu)點(diǎn):耦合性低;重用性高;生命周期成本低;部署塊;可維護(hù)性高;有利軟件工程化管理。
缺點(diǎn):沒(méi)有明確的定義;不適合小型,中等規(guī)模的應(yīng)用程序;增加系統(tǒng)結(jié)構(gòu)和實(shí)現(xiàn)的復(fù)用性;視圖與控制器間的過(guò)于緊密的連接;視圖對(duì)模型數(shù)據(jù)的低效率訪(fǎng)問(wèn);一般高級(jí)的界面工具或構(gòu)造器不支持模式。
零基礎(chǔ)學(xué)習(xí)MVC架構(gòu),推薦動(dòng)力節(jié)點(diǎn)的MVC框架視頻教程,這是一套超級(jí)詳細(xì)的MVC實(shí)戰(zhàn)視頻,本套MVC視頻教程適合MVC架構(gòu)模式零基礎(chǔ)的學(xué)員學(xué)習(xí),這套MVC學(xué)習(xí)視頻通俗易懂,是你學(xué)習(xí)MVC架構(gòu)模式的好幫手,此課程會(huì)對(duì)MVC思想,分層開(kāi)發(fā)等理念,做出一個(gè)最詳細(xì)的說(shuō)明和講解。同時(shí)搭配轉(zhuǎn)賬系統(tǒng)綜合案例,使大家理解起來(lái)事半功倍,在未來(lái)的實(shí)際項(xiàng)目開(kāi)發(fā)中對(duì)于分層架構(gòu)暢通無(wú)阻。
課程學(xué)習(xí)目錄
1.MVC架構(gòu)教程_Dao層介紹
2.MVC架構(gòu)教程_Dao層實(shí)現(xiàn)
3.MVC架構(gòu)教程_Dao層實(shí)現(xiàn)轉(zhuǎn)賬
4.MVC架構(gòu)教程_獨(dú)立使用Dao層處理業(yè)務(wù)存在問(wèn)題
5.MVC架構(gòu)教程_service層介紹
6.MVC架構(gòu)教程_service層實(shí)現(xiàn)
7.MVC架構(gòu)教程_service層事務(wù)管理
8.MVC架構(gòu)教程_ThreadLocal
9.MVC架構(gòu)教程_ThreadLocal傳遞Connection
1.MVC架構(gòu)教程_service層煩惱
11.MVC架構(gòu)教程_代理設(shè)計(jì)模式
12.MVC架構(gòu)教程_代理設(shè)計(jì)模式幫助Service管理業(yè)務(wù)
13.MVC架構(gòu)教程_使用代理模式實(shí)現(xiàn)部門(mén)批處理刪除
14.MVC架構(gòu)教程_代理模式為指定service中方法輸出日志
15.MVC架構(gòu)教程_動(dòng)態(tài)代理設(shè)計(jì)模式
16.MVC架構(gòu)教程_動(dòng)態(tài)代理實(shí)現(xiàn)類(lèi)實(shí)現(xiàn)步驟
17.MVC架構(gòu)教程_動(dòng)態(tài)代理對(duì)項(xiàng)目中所有service事務(wù)進(jìn)行托管
18.MVC架構(gòu)教程_MVC流程
19.MVC架構(gòu)教程_MVC開(kāi)發(fā)練習(xí)
2.MVC架構(gòu)教程_MVC開(kāi)發(fā)練習(xí)2

以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“MVC框架視頻,深入解讀MVC架構(gòu)模式”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€(xiàn)咨詢(xún),有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。
Java實(shí)驗(yàn)班
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
Java就業(yè)班
有基礎(chǔ) 直達(dá)就業(yè)
Java夜校直播班
業(yè)余時(shí)間 高薪轉(zhuǎn)行
Java在職加薪班
工作1~3年,加薪神器
Java架構(gòu)師班
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話(huà)與您溝通安排學(xué)習(xí)