mvc設(shè)計(jì)模式的優(yōu)缺點(diǎn) MVC模式有哪些優(yōu)缺點(diǎn)?
MVC模式有哪些優(yōu)缺點(diǎn)?MVC的優(yōu)點(diǎn)和缺點(diǎn)如下:1。在MVC模式下,每一層都有自己的職責(zé),因此如果某一層的需求發(fā)生變化,只需修改相應(yīng)層的代碼,就不會(huì)影響其他層的代碼。2有利于發(fā)展中的分工。在MVC模式
MVC模式有哪些優(yōu)缺點(diǎn)?
MVC的優(yōu)點(diǎn)和缺點(diǎn)如下:1。在MVC模式下,每一層都有自己的職責(zé),因此如果某一層的需求發(fā)生變化,只需修改相應(yīng)層的代碼,就不會(huì)影響其他層的代碼。2有利于發(fā)展中的分工。在MVC模式下,由于系統(tǒng)是分層的,可以更好地實(shí)現(xiàn)開(kāi)發(fā)中的分工。Web設(shè)計(jì)人員可以在視圖層開(kāi)發(fā)JSP,熟悉業(yè)務(wù)的開(kāi)發(fā)人員可以開(kāi)發(fā)業(yè)務(wù)層,其他開(kāi)發(fā)人員可以開(kāi)發(fā)控制層。三。有利于構(gòu)件的重用,分層后更有利于構(gòu)件的重用。例如,控制層可以獨(dú)立地做成功能組件,視圖層也可以做成通用操作界面。4MVC設(shè)計(jì)模式可以說(shuō)實(shí)現(xiàn)了分層開(kāi)發(fā)。每一層都有自己的功能。5減少層與層之間的依賴,有利于代碼的規(guī)范化開(kāi)發(fā)。6在使用新的代碼業(yè)務(wù)邏輯進(jìn)行替換時(shí),只需替換相應(yīng)的層,大大減少了我們的工作量,使分工更加清晰。缺點(diǎn):1。增加了系統(tǒng)結(jié)構(gòu)和實(shí)現(xiàn)的復(fù)雜性。對(duì)于一個(gè)簡(jiǎn)單的界面,嚴(yán)格遵循MVC,將模型、視圖和控制器分離,會(huì)增加結(jié)構(gòu)的復(fù)雜性,并可能產(chǎn)生過(guò)多的更新操作,降低運(yùn)行效率。2視圖和控制器之間的連接太近。視圖和控制器是相互分離的,但它們是密切相關(guān)的。視圖沒(méi)有控制器,應(yīng)用非常有限,反之亦然,阻礙了它們的獨(dú)立重用。三。對(duì)模型數(shù)據(jù)的視圖訪問(wèn)效率低下。根據(jù)模型操作界面的不同,可能需要多次調(diào)用視圖以獲得足夠的顯示數(shù)據(jù)。不必要的頻繁訪問(wèn)不變的數(shù)據(jù)也會(huì)損害操作性能。4目前,大多數(shù)高級(jí)接口工具或構(gòu)造函數(shù)都不支持MVC模式。修改這些工具以滿足MVC的需要和建立獨(dú)立組件的成本非常高,這使得MVC的使用變得困難。5麻煩的是,有些代碼重復(fù)太多,不利于在實(shí)際開(kāi)發(fā)中使用,所以需要學(xué)習(xí)框架。下面的鳥(niǎo)瞰圖分析了框架在MVC中替換了哪些層。MVC主要是java開(kāi)發(fā)中的一種設(shè)計(jì)模式:M:model(model,主要服務(wù)業(yè)務(wù)邏輯層和Dao以及數(shù)據(jù)庫(kù)獲取連接和發(fā)送數(shù)據(jù)層)V:view(view,即用戶界面,通常稱為前臺(tái)頁(yè)面,JSP,等)C:MVC:MVC:MVC:MVC:MVC:MVC:MVC:MVC:MVC:MVC:MVC:MVC:MVC:MVC:MVC:MVC:MVC:MVC:MVC:MVC控制器(在控制層,它可以被視為一個(gè)中轉(zhuǎn)。它接收來(lái)自前臺(tái)用戶的請(qǐng)求并調(diào)用服務(wù)。Dao將數(shù)據(jù)發(fā)送到后臺(tái)。后臺(tái)經(jīng)過(guò)數(shù)據(jù)庫(kù)操作和業(yè)務(wù)邏輯分析后將數(shù)據(jù)返回給控制器,最后返回前臺(tái)JSP頁(yè)面)。
簡(jiǎn)述什么是MVC模式?
設(shè)計(jì)模式是一套反復(fù)使用,成功的代碼設(shè)計(jì)經(jīng)驗(yàn)總結(jié)。模式必須是典型問(wèn)題(而不是單個(gè)問(wèn)題)的解決方案。在編程中,模型、視圖和控制器的設(shè)計(jì)模式稱為MVC設(shè)計(jì)模式。1、 首先,我們簡(jiǎn)要描述一下MVC設(shè)計(jì)模式的組成:(1)m(model)模型:處理業(yè)務(wù)邏輯,對(duì)應(yīng)的組件是JavaBean(Java類);(2)V(view)視圖層:顯示查詢結(jié)果和采集用戶數(shù)據(jù),對(duì)應(yīng)的組件是JSP或HTML文件;(3) C(controller)控制器層:接收視圖請(qǐng)求并將請(qǐng)求傳遞到相應(yīng)的模型中,對(duì)應(yīng)的組件為servlet;(4)功能:實(shí)現(xiàn)代碼分離,降低耦合度。模型可以分為業(yè)務(wù)邏輯和數(shù)據(jù)模型,它們表示應(yīng)用程序的業(yè)務(wù)邏輯和狀態(tài)。視圖提供了一個(gè)交互式的客戶界面來(lái)向客戶顯示模型數(shù)據(jù)??刂破黜憫?yīng)客戶的請(qǐng)求,根據(jù)客戶的請(qǐng)求操作模型,并從視圖中向客戶顯示模型的響應(yīng)結(jié)果。MVC模式2。MVC設(shè)計(jì)模式的優(yōu)點(diǎn)和好處(1)。每一層都履行自己的職責(zé),互不干涉。在MVC模式下,每一層都有自己的職責(zé)。因此,如果任何一層的要求發(fā)生變化,只需要相應(yīng)層中的代碼發(fā)生變化,其他層不會(huì)受到影響。(2) 在MVC模式下,由于系統(tǒng)是分層的,可以更好地實(shí)現(xiàn)開(kāi)發(fā)中的分工。Web設(shè)計(jì)人員可以開(kāi)發(fā)JSP頁(yè)面,熟悉業(yè)務(wù)的開(kāi)發(fā)人員可以在模型中開(kāi)發(fā)相關(guān)的業(yè)務(wù)處理方法,而其他開(kāi)發(fā)人員可以開(kāi)發(fā)用于程序控制的控制器。(3) 例如,控制層可以獨(dú)立地做成通用組件,視圖層也可以做成通用操作界面。MVC最重要的特點(diǎn)是顯示和數(shù)據(jù)的分離,提高了各個(gè)模塊的可重用性。3、 在MVC編程模式下,servlet接收客戶端請(qǐng)求,調(diào)用相應(yīng)的模型對(duì)業(yè)務(wù)邏輯和數(shù)據(jù)進(jìn)行處理,然后根據(jù)處理結(jié)果選擇相應(yīng)的JSP或HTML文件響應(yīng)客戶端。