最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

產(chǎn)品經(jīng)理技術(shù)腦:MVC

2022-09-20 14:35 作者:陪學(xué)產(chǎn)品經(jīng)理  | 我要投稿

設(shè)計一個程序的結(jié)構(gòu),是一門專門的學(xué)問,叫做"架構(gòu)模式"(architectural pattern),屬于編程的方法論。

MVC模式就是架構(gòu)模式的一種。



MVC是三個單詞的首字母縮寫,它們是Model(模型)、View(視圖)和Controller(控制)。這個模式認(rèn)為,程序不論簡單或復(fù)雜,從結(jié)構(gòu)上看,都可以分成三層。

  • V即View視圖是指用戶看到并與之交互的界面。比如由html元素組成的網(wǎng)頁界面,或者軟件的客戶端界面。MVC的好處之一在于它能為應(yīng)用程序處理很多不同的視圖。在視圖中其實沒有真正的處理發(fā)生,它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式。

  • M即model模型是指模型表示業(yè)務(wù)規(guī)則。在MVC的三個部件中,模型擁有最多的處理任務(wù)。被模型返回的數(shù)據(jù)是中立的,模型與數(shù)據(jù)格式無關(guān),這樣一個模型能為多個視圖提供數(shù)據(jù),由于應(yīng)用于模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重復(fù)性。

  • C即controller控制器是指控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求,控制器本身不輸出任何東西和做任何處理。它只是接收請求并決定調(diào)用哪個模型構(gòu)件去處理請求,然后再確定用哪個視圖來顯示返回的數(shù)據(jù)。

這三層是緊密聯(lián)系在一起的,但又是互相獨立的,每一層內(nèi)部的變化不影響其他層。

每一層都對外提供接口(Interface),供上面一層調(diào)用。這樣一來,軟件就可以實現(xiàn)模塊化,修改外觀或者變更數(shù)據(jù)都不用修改其他層,大大方便了維護和升級。


|三者之間的調(diào)用關(guān)系



1.用戶首先在界面中進行人機交互,然后請求發(fā)送到控制器,

2.控制器根據(jù)請求類型和請求的指令發(fā)送到相應(yīng)的模型,模型可以與數(shù)據(jù)庫進行交互,進行增刪改查操作,

3.完成之后,根據(jù)業(yè)務(wù)的邏輯選擇相應(yīng)的視圖進行顯示,此時用戶獲得此次交互的反饋信息,

4.用戶可以進行下一步交互,如此循環(huán)。


?|用登陸案例看MVC框架如何完成產(chǎn)品任務(wù)


1.用戶首先在Login.html中輸入用戶名和密碼,點擊登陸,

2.此時框架根據(jù)action的路徑,在struts.xml中找到對應(yīng)的Login,然后根據(jù)對應(yīng)的class的路徑進入相應(yīng)的login.Java,在這里判斷之后,返回success或error,

3.然后根據(jù)struts.xml中的result值,指向相應(yīng)的jsp頁面。

?


圖中,用戶請求首先到達(dá)前端控制器FilterDispatcher。

FilterDispatcher負(fù)責(zé)根據(jù)用戶提交的URL和struts.xml中的配置,來選擇合適的動作(Action),讓這個Action來處理用戶的請求。


|MVC是一種思維框架


如果將MVC模式解釋成"外觀"、"機制"和"功能/數(shù)據(jù)"這三層結(jié)構(gòu),那么很多組織機構(gòu)也可以通過MVC模式來建構(gòu)框架。比如一家商場,完全可以分成三部分:

  • 一部分是倉庫,負(fù)責(zé)提供商品,這是"功能層"(或者"數(shù)據(jù)層");

  • 另一部分是零售鋪面,負(fù)責(zé)銷售商品,這是它的"外觀層";

  • 兩者之間就是"機制層",包括柜臺和倉庫之間一切互動的機制。

這樣區(qū)分以后,這個商場的結(jié)構(gòu)就變得非常清楚,可以針對不同的層進行優(yōu)化,提高效率。

產(chǎn)品經(jīng)理技術(shù)腦:MVC的評論 (共 條)

分享到微博請遵守國家法律
天祝| 亳州市| 涪陵区| 巩义市| 彭水| 柳州市| 龙海市| 于都县| 平顺县| 津南区| 琼海市| 晋州市| 丰镇市| 九龙县| 台中县| 津市市| 江孜县| 巴林左旗| 利辛县| 富民县| 昆明市| 广昌县| 临海市| 东平县| 枣强县| 句容市| 南木林县| 玉山县| 南江县| 金沙县| 三亚市| 遂川县| 云南省| 安康市| 清新县| 中超| 台中县| 上思县| 东平县| 白河县| 溧水县|