mvc模式優(yōu)缺點
2023-06-12 17:35:20 閱讀(113)
mvc的格式和特點?
MVC是一個設(shè)計模式,它強(qiáng)制性的使應(yīng)用程序的輸入、處理和輸出分開。使用MVC應(yīng)用程序被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務(wù)。
mvvm和mvc區(qū)別優(yōu)缺點?
MVVM是MVC的增強(qiáng)版,和MVC沒有本質(zhì)區(qū)別,只是代碼的位置變動而已 MVC模式 MVC即Model-View-Controller(模型-視圖-控制器) Model:應(yīng)用程序中處理數(shù)據(jù)邏輯的一部分,通常用來模型對象對數(shù)據(jù)庫的存取等操作 View:視圖部分,通常指前端頁面用來對用戶展示的一部分 Controller:控制層通常用來處理業(yè)務(wù)邏輯,負(fù)責(zé)從視圖讀取數(shù)據(jù),并向模型發(fā)送數(shù)據(jù) MVVM模式 MVVM即Model-View-ViewModel 可以將ViewMode看作是Model和View的連接橋,View可以通過事件綁定Model,Model可以通過數(shù)據(jù)綁定View,通過ViewMode可以實現(xiàn)數(shù)據(jù)和視圖的完全分離 MVVM的優(yōu)點 1.雙向綁定技術(shù),當(dāng)Model變化時,View-Model會自動更新,View也會自動變化,能很好的做到數(shù)據(jù)一致性。 2.View的功能進(jìn)一步的強(qiáng)化,具有控制的部分功能。 3.UI和邏輯的開發(fā)解耦。 MVVM的缺點 1.數(shù)據(jù)綁定使得 Bug 不易調(diào)試,也會使得一個位置的 Bug 被快速傳遞到別的位置。 2.雖然使用Model方便了保證數(shù)據(jù)一致性,但是大的模塊中長期不釋放內(nèi)存就會造成花費更多的內(nèi)存。 3.數(shù)據(jù)雙向綁定不利于View部分的代碼復(fù)用
什么是MVC設(shè)計模式?
MVC是一種目前廣泛流行的軟件設(shè)計模式,早在70年代,IBM就推出了Sanfronscisico項目計劃,其實就是MVC設(shè)計模式的研究。近來,隨著J2EE的成熟,它正在成為在J2EE平臺上推薦的一種設(shè)計模型,也是廣大Java開發(fā)者非常感興趣的設(shè)計模型。MVC模式也逐漸在PHP和ColdFusion開發(fā)者中運用,并有增長趨勢。隨著網(wǎng)絡(luò)應(yīng)用的快速增加,MVC模式對于Web應(yīng)用的開發(fā)無疑是一種非常先進(jìn)的設(shè)計思想,無論你選擇哪種語言,無論應(yīng)用多復(fù)雜,它都能為你理解分析應(yīng)用模型時提供最基本的分析方法,為你構(gòu)造產(chǎn)品提供清晰的設(shè)計框架,為你的軟件工程提供規(guī)范的依據(jù)。 MVC設(shè)計思想 MVC英文即Model-View-Controller,即把一個應(yīng)用的輸入、處理、輸出流程按照Model、View、Controller的方式進(jìn)行分離,這樣一個應(yīng)用被分成三個層――模型層、視圖層、控制層。
mvc體系優(yōu)點?
1.各施其職,互不干涉 在MVC模式中,三個層各施其職,所以如果一旦哪一層的需求發(fā)生了變化,就只需要更改相應(yīng)的層中的代碼而不會影響到其它層中的代碼。 2.有利于開發(fā)中的分工 在MVC模式中,由于按層把系統(tǒng)分開,那么就能更好的實現(xiàn)開發(fā)中的分工。網(wǎng)頁設(shè)計人員可以進(jìn)行開發(fā)視圖層中的JSP,對業(yè)務(wù)熟悉的開發(fā)人員可開發(fā)業(yè)務(wù)層,而其它開發(fā)人員可開發(fā)控制層。 3.有利于組件的重用 分層后更有利于組件的重用。如控制層可獨立成一個能用的組件,視圖層也可做成通用的操作界面。 4.MVC設(shè)計模式可以說實現(xiàn)了分層開發(fā)。各個層都有各個層的作用。 5.降低了層與層之間的依賴,有利于代碼的標(biāo)準(zhǔn)化開發(fā) 6.再用新的代碼業(yè)務(wù)邏輯替換時,只需要替換相對應(yīng)的層,大大降低了我們的工作量,分工明確。
mvc的缺點和優(yōu)點?
優(yōu)點: 1.各施其職,互不干涉 在MVC模式中,三個層各施其職,所以如果一旦哪一層的需求發(fā)生了變化,就只需要更改相應(yīng)的層中的代碼而不會影響到其它層中的代碼。 2.有利于開發(fā)中的分工 在MVC模式中,由于按層把系統(tǒng)分開,那么就能更好的實現(xiàn)開發(fā)中的分工。網(wǎng)頁設(shè)計人員可以進(jìn)行開發(fā)視圖層中的JSP,對業(yè)務(wù)熟悉的開發(fā)人員可開發(fā)業(yè)務(wù)層,而其它開發(fā)人員可開發(fā)控制層。 3.有利于組件的重用 分層后更有利于組件的重用。如控制層可獨立成一個能用的組件,視圖層也可做成通用的操作界面。 4.MVC設(shè)計模式可以說實現(xiàn)了分層開發(fā)。各個層都有各個層的作用。 5.降低了層與層之間的依賴,有利于代碼的標(biāo)準(zhǔn)化開發(fā) 6.再用新的代碼業(yè)務(wù)邏輯替換時,只需要替換相對應(yīng)的層,大大降低了我們的工作量,分工明確。 缺點: 1.增加了系統(tǒng)結(jié)構(gòu)和實現(xiàn)的復(fù)雜性。對于簡單的界面,嚴(yán)格遵循MVC,使模型、視圖與控制器分離,會增加結(jié)構(gòu)的復(fù)雜性,并可能產(chǎn)生過多的更新操作,降低運行效率。 2.視圖與控制器間的過于緊密的連接。視圖與控制器是相互分離,但確實聯(lián)系緊密的部件,視圖沒有控制器的存在,其應(yīng)用是很有限的,反之亦然,這樣就妨礙了他們的獨立重用。 3.視圖對模型數(shù)據(jù)的低效率訪問。依據(jù)模型操作接口的不同,視圖可能需要多次調(diào)用才能獲得足夠的顯示數(shù)據(jù)。對未變化數(shù)據(jù)的不必要的頻繁訪問,也將損害操作性能。 4.目前,一般高級的界面工具或構(gòu)造器不支持MVC模式。改造這些工具以適應(yīng)MVC需要和建立分離的部件的代價是很高的,從而造成使用MVC的困難。 5.麻煩,有些代碼重復(fù)的過多,不利于在實際開發(fā)中使用,所以我們要學(xué)習(xí)框架,下面的鳥瞰圖分析了框架在MVC里都替代了哪些層。
未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明出處