當(dāng)前位置:首頁 > 科技 > 正文

mvc模式前面是什么 mvc模式適用于以下哪些情況

mvc模式前面是什么 mvc模式適用于以下哪些情況

大家好,感謝邀請(qǐng),今天來為大家分享一下mvc模式前面是什么的問題,以及和mvc模式適用于以下哪些情況的一些困惑,大家要是還不太明白的話,也沒有關(guān)系,因?yàn)榻酉聛韺榇蠹曳?..

大家好,感謝邀請(qǐng),今天來為大家分享一下mvc模式前面是什么的問題,以及和mvc模式適用于以下哪些情況的一些困惑,大家要是還不太明白的話,也沒有關(guān)系,因?yàn)榻酉聛韺榇蠹曳窒?,希望可以幫助到大家,解決大家的問題,下面就開始吧!

什么是mvc模式

MVC模式是一種軟件設(shè)計(jì)模式,用于將應(yīng)用程序分成三個(gè)不同的部分:模型、視圖和控制器。M代表模型,代表存儲(chǔ)和處理應(yīng)用程序數(shù)據(jù)的部分。V代表視圖,代表顯示應(yīng)用程序數(shù)據(jù)的部分。C代表控制器,代表協(xié)調(diào)模型和視圖,處理和響應(yīng)用戶輸入的部分。通過使用MVC模式,開發(fā)人員可以將應(yīng)用程序的不同部分獨(dú)立設(shè)計(jì)、測(cè)試和維護(hù),實(shí)現(xiàn)代碼的可復(fù)用性、易維護(hù)性和可擴(kuò)展性。同時(shí),MVC模式也可以幫助開發(fā)人員快速開發(fā)高效、易于使用的應(yīng)用程序。

什么是MVC模式

MVC指的是模型-視圖-控制器,是一種常用的軟件架構(gòu)模式。在該模式下,應(yīng)用程序被分為三個(gè)不同的部分:數(shù)據(jù)模型(Model),用戶界面(View)和控制器(Controller)。

MV c模式的基本工作原理是基于觀察者模式實(shí)現(xiàn)是基于什么模式

MVC是一種軟件開發(fā)架構(gòu),它包含了很多的設(shè)計(jì)模式,最為密切是以下三種:Observer(觀察者模式),Composite(組合模式)和Strategy(策略模式)。MVC最初是在Smalltalk-80中被用來構(gòu)建用戶界面的。

MVC模型的基本工作原理是基于觀察者模式,實(shí)現(xiàn)是基于命令模式。

mvc模式是什么

MVC(Model–View–Controller)模式是軟件工程中的一種軟件架構(gòu)模式,它把軟件系統(tǒng)分為三個(gè)基本部分:模型(Model)、視圖(View)和控制器(Controller)。

MVC模式的目的是實(shí)現(xiàn)一種動(dòng)態(tài)的程序設(shè)計(jì),簡(jiǎn)化后續(xù)對(duì)程序的修改和擴(kuò)展,并且使程序某一部分的重復(fù)利用成為可能。除此之外,MVC模式通過對(duì)復(fù)雜度的簡(jiǎn)化,使程序的結(jié)構(gòu)更加直觀。軟件系統(tǒng)在分離了自身的基本部分的同時(shí),也賦予了各個(gè)基本部分應(yīng)有的功能。專業(yè)人員可以通過自身的專長進(jìn)行相關(guān)的分組:

模型(Model):程序員編寫程序應(yīng)有的功能(實(shí)現(xiàn)算法等)、數(shù)據(jù)庫專家進(jìn)行數(shù)據(jù)管理和數(shù)據(jù)庫設(shè)計(jì)(可以實(shí)現(xiàn)具體的功能);

控制器(Controller):負(fù)責(zé)轉(zhuǎn)發(fā)請(qǐng)求,對(duì)請(qǐng)求進(jìn)行處理;

視圖(View):界面設(shè)計(jì)人員進(jìn)行圖形界面設(shè)計(jì)。

mvc模式中用于表達(dá)應(yīng)用的核心業(yè)務(wù)

從之前的用戶管理系統(tǒng)中我們會(huì)發(fā)現(xiàn),JSP主要是做界面的,但卻用了JSP來對(duì)用戶進(jìn)行驗(yàn)證和分頁處理,而Servlet處理頁面的轉(zhuǎn)跳是最快捷和最方便的,所以對(duì)用戶管理系統(tǒng)的框架進(jìn)行了改進(jìn),使用MVC模式。

MVC是一種設(shè)計(jì)模式,它強(qiáng)制性的使應(yīng)用程序的輸入、處理和輸出分開。使用MVC應(yīng)用程序被分為三個(gè)核心部件:模型、視圖和控制器。它們各自處理自己的任務(wù)。

MVC的各個(gè)字母分別是M(model模型)、V(view視圖)和C(controller控制器)

M主要由Javaclass來處理,也可以是Javabean,ejb等

V由JSP來處理C由Servlet來處理

請(qǐng)問,MVC是什么意思,是三層結(jié)構(gòu)嗎

三層架構(gòu)將整個(gè)項(xiàng)目劃分為:表現(xiàn)層(UI)、業(yè)務(wù)邏輯層(BLL)、數(shù)據(jù)訪問層(DAL)。

MVC即Model(模型),View(視圖),Controller(控制)。

下面看一下他倆的區(qū)別與聯(lián)系:

通過這個(gè)圖我們可以知道,我們平常所說的V是UI,C是BLL,M是DAL的觀點(diǎn)是錯(cuò)誤的。

而我們通常所見到的MVC一般也都是在應(yīng)用三層架構(gòu)的基礎(chǔ)上,即將Model層再進(jìn)行分層。而如果Model不再進(jìn)行劃分的話,那么使用MVC的意義也就不大了。

然后,它倆的目的著重點(diǎn)不同。

三層架構(gòu)的目的著重點(diǎn)是“高內(nèi)聚,低耦合”,即解耦。

MVC的目的則是實(shí)現(xiàn)Web系統(tǒng)的職能分工,即職責(zé)劃分。

其實(shí)職責(zé)劃分也是解耦,但是三層側(cè)重的是整體的一個(gè)解耦,而MVC側(cè)重的是web系統(tǒng)的解耦,即側(cè)重jsp和Servlet的一個(gè)解耦。

最后,為何我們會(huì)將其混為一談?

既然兩者有這么多的不同,我們?yōu)槭裁催€總是將其混淆呢,下面我列舉了幾個(gè)我們常常將其混為一談的幾個(gè)原因:

1.二者都是“三層”。

這個(gè)原因是最容易迷惑我們初學(xué)者的,一個(gè)是UI,BLL,DAL,一個(gè)是View,Controller,Model,不都是三層嗎?

雖然都是“三層”(不一定是真的三層,還可以是多層),但是它們的劃分的不一樣。大家可從上面的圖中看出不同。

2.MVC總是伴隨著三層架構(gòu)。

這個(gè)就是我在前面一再強(qiáng)調(diào)的,我們一般是在考慮使用(也可以不使用)了三層架構(gòu)的基礎(chǔ)上再根據(jù)具體需求決定是否需要使用MVC,于是我們常說的MVC中總是伴隨著三層架構(gòu),所以大家總是會(huì)認(rèn)為MVC就是三層架構(gòu),三層架構(gòu)就是MVC,殊不知,它們二者是一起出現(xiàn)的。

3.都是在分層,即都是在解耦。

前面說它們目的的時(shí)候也說了,雖然它們的側(cè)重點(diǎn)不同,但是它們的總體目的是一樣的,都是為了解耦,對(duì)于初學(xué)者而言,是不知道這兩個(gè)側(cè)重點(diǎn)有何不同的。

大家往往對(duì)它們的聯(lián)系知道很多,不然也不會(huì)混為一談,但是對(duì)它們的區(qū)別卻知道較少,希望我上面講解的它們兩者之間的區(qū)別可以讓大家對(duì)它們有些了解,如有寫的不妥的地方,請(qǐng)指教。

三層架構(gòu)(3-tierapplication)通常意義上的三層架構(gòu)就是將整個(gè)業(yè)務(wù)應(yīng)用劃分為:表現(xiàn)層(UI)、業(yè)務(wù)邏輯層(BLL)、數(shù)據(jù)訪問層(DAL)。區(qū)分層次的目的即為了“高內(nèi)聚,低耦合”的思想。

1、表現(xiàn)層(UI):通俗講就是展現(xiàn)給用戶的界面,即用戶在使用一個(gè)系統(tǒng)的時(shí)候他的所見所得。

2、業(yè)務(wù)邏輯層(BLL):針對(duì)具體問題的操作,也可以說是對(duì)數(shù)據(jù)層的操作,對(duì)數(shù)據(jù)業(yè)務(wù)邏輯處理。

3、數(shù)據(jù)訪問層(DAL):該層所做事務(wù)直接操作數(shù)據(jù)庫,針對(duì)數(shù)據(jù)的增添、刪除、修改、更新、查找等。

MVC是Model-View-Controller,嚴(yán)格說這三個(gè)加起來以后才是三層架構(gòu)中的UI層,也就是說,MVC把三層架構(gòu)中的UI層再度進(jìn)行了分化,分成了控制器、視圖、實(shí)體三個(gè)部分,控制器完成頁面邏輯,通過實(shí)體來與界面層完成通話;而C層直接與三層中的BLL進(jìn)行對(duì)話。

mvc可以是三層中的一個(gè)表現(xiàn)層框架,屬于表現(xiàn)層。三層和mvc可以共存。

三層是基于業(yè)務(wù)邏輯來分的,而mvc是基于頁面來分的。

MVC主要用于表現(xiàn)層,3層主要用于體系架構(gòu),3層一般是表現(xiàn)層、中間層、數(shù)據(jù)層,其中表現(xiàn)層又可以分成M、V、C,(ModelViewController)模型-視圖-控制器

曾把MVC模式和Web開發(fā)中的三層結(jié)構(gòu)的概念混為一談,直到今天才發(fā)現(xiàn)一直是我的理解錯(cuò)誤。MVC模式是GUI界面開發(fā)的指導(dǎo)模式,基于表現(xiàn)層分離的思想把程序分為三大部分:Model-View-Controller,呈三角形結(jié)構(gòu)。Model是指數(shù)據(jù)以及應(yīng)用程序邏輯,View是指Model的視圖,也就是用戶界面。這兩者都很好理解,關(guān)鍵點(diǎn)在于Controller的角色以及三者之間的關(guān)系。在MVC模式中,Controller和View同屬于表現(xiàn)層,通常成對(duì)出現(xiàn)。Controller被設(shè)計(jì)為處理用戶交互的邏輯。一個(gè)通常的誤解是認(rèn)為Controller負(fù)責(zé)處理View和Model的交互,而實(shí)際上View和Model之間是可以直接通信的。由于用戶的交互通常會(huì)涉及到Model的改變和View的更新,所以這些可以認(rèn)為是Controller的副作用。

MVC是表現(xiàn)層的架構(gòu),MVC的Model實(shí)際上是ViewModel,即供View進(jìn)行展示的數(shù)據(jù)。ViewModel不包含業(yè)務(wù)邏輯,也不包含數(shù)據(jù)讀取。

而在N層架構(gòu)中,一般還會(huì)有一個(gè)Model層,用來與數(shù)據(jù)庫的表相對(duì)應(yīng),也就是所謂ORM中的O.這個(gè)Model可能是POCO,也可能是包含一些驗(yàn)證邏輯的實(shí)體類,一般也不包含數(shù)據(jù)讀取。進(jìn)行數(shù)據(jù)讀取的是數(shù)據(jù)訪問層。而作為UI層的MVC一般不直接操作數(shù)據(jù)訪問層,中間會(huì)有一個(gè)業(yè)務(wù)邏輯層封裝業(yè)務(wù)邏輯、調(diào)用數(shù)據(jù)訪問層。UI層(Controller)通過業(yè)務(wù)邏輯層來得到數(shù)據(jù)(Model),并進(jìn)行封裝(ViewModel),然后選擇相應(yīng)的View.

MVC本來是存在于Desktop程序中的,M是指數(shù)據(jù)模型,V是指用戶界面,C則是控制器。使用MVC的目的是將M和V的實(shí)現(xiàn)代碼分離,從而使同一個(gè)程序可以使用不同的表現(xiàn)形式。比如一批統(tǒng)計(jì)數(shù)據(jù)你可以分別用柱狀圖、餅圖來表示。C存在的目的則是確保M和V的同步,一旦M改變,V應(yīng)該同步更新。

MVC如何工作MVC是一個(gè)設(shè)計(jì)模式,它強(qiáng)制性的使應(yīng)用程序的輸入、處理和輸出分開。使用MVC應(yīng)用程序被分成三個(gè)核心部件:模型、視圖、控制器。它們各自處理自己的任務(wù)。

視圖V視圖是用戶看到并與之交互的界面。對(duì)老式的Web應(yīng)用程序來說,視圖就是由HTML元素組成的界面,在新式的Web應(yīng)用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術(shù)已層出不窮,它們包括MacromediaFlash和象XHTML,XML/XSL,WML等一些標(biāo)識(shí)語言和Webservices.如何處理應(yīng)用程序的界面變得越來越有挑戰(zhàn)性。MVC一個(gè)大的好處是它能為你的應(yīng)用程序處理很多不同的視圖。在視圖中其實(shí)沒有真正的處理發(fā)生,不管這些數(shù)據(jù)是聯(lián)機(jī)存儲(chǔ)的還是一個(gè)雇員列表,作為視圖來講,它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式。

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

控制器C控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求。所以當(dāng)單擊Web頁面中的超鏈接和發(fā)送HTML表單時(shí),控制器本身不輸出任何東西和做任何處理。它只是接收請(qǐng)求并決定調(diào)用哪個(gè)模型構(gòu)件去處理請(qǐng)求,然后再確定用哪個(gè)視圖來顯示返回的數(shù)據(jù)。

模型Model模型是應(yīng)用程序的主體部分。模型表示業(yè)務(wù)數(shù)據(jù),或者業(yè)務(wù)邏輯。實(shí)現(xiàn)具體的業(yè)務(wù)邏輯、狀態(tài)管理的功能。

視圖View視圖是應(yīng)用程序中用戶界面相關(guān)的部分,是用戶看到并與之交互的界面。就是與用戶實(shí)現(xiàn)交互的頁面,通常實(shí)現(xiàn)數(shù)據(jù)的輸入和輸出功能。

控制器controller控制器工作就是根據(jù)用戶的輸入,控制用戶界面數(shù)據(jù)顯示和更新model對(duì)象狀態(tài)。起到控制整個(gè)業(yè)務(wù)流程的作用,實(shí)現(xiàn)View層跟Model層的協(xié)同工作。

3層架構(gòu)指:表現(xiàn)層(顯示層)業(yè)務(wù)邏輯層數(shù)據(jù)訪問層(持久化)如果大家非要“生搬硬套”把它和MVC扯上關(guān)系話那我就只能在這里”強(qiáng)扭這個(gè)瓜”了即:V3層架構(gòu)中”表現(xiàn)層”aspx頁面對(duì)應(yīng)MVC中View(繼承的類不一樣)

C三層架構(gòu)中”表現(xiàn)層”的aspx.cs頁面(類)對(duì)應(yīng)MVC中的Controller,理解這一點(diǎn)并不難,大家想一想我們以前寫過的Redirect,當(dāng)然它本身就是跳轉(zhuǎn)了一些鏈接頁面,而MVC中的Controller要做的更爽,它控制并顯示輸出了一個(gè)視圖。即然所起到的作用都是對(duì)業(yè)務(wù)流程和顯示信息的控制,只不過是實(shí)現(xiàn)手段不同而已。

M3層架構(gòu)中業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層對(duì)應(yīng)MVC中Model(必定View和Controller已找到“婆家”剩下Model只能是業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層了)

為什么要使用MVC大部分Web應(yīng)用程序都是用像ASP,PHP,或者CFML這樣的過程化(自PHP5.0版本后已全面支持面向?qū)ο竽P停┱Z言來創(chuàng)建的。它們將像數(shù)據(jù)庫查詢語句這樣的數(shù)據(jù)層代碼和像HTML這樣的表示層代碼混在一起。經(jīng)驗(yàn)比較豐富的開發(fā)者會(huì)將數(shù)據(jù)從表示層分離開來,但這通常不是很容易做到的,它需要精心的計(jì)劃和不斷的嘗試。MVC從根本上強(qiáng)制性的將它們分開。盡管構(gòu)造MVC應(yīng)用程序需要一些額外的工作,但是它給我們帶來的好處是無庸質(zhì)疑的。

首先,最重要的一點(diǎn)是多個(gè)視圖能共享一個(gè)模型,現(xiàn)在需要用越來越多的方式來訪問你的應(yīng)用程序。對(duì)此,其中一個(gè)解決之道是使用MVC,無論你的用戶想要Flash界面或是WAP界面;用一個(gè)模型就能處理它們。由于你已經(jīng)將數(shù)據(jù)和業(yè)務(wù)規(guī)則從表示層分開,所以你可以最大化的重用你的代碼了。

由于模型返回的數(shù)據(jù)沒有進(jìn)行格式化,所以同樣的構(gòu)件能被不同界面使用。例如,很多數(shù)據(jù)可能用HTML來表示,但是它們也有可能要用AdobeFlash和WAP來表示。模型也有狀態(tài)管理和數(shù)據(jù)持久性處理的功能,例如,基于會(huì)話的購物車和電子商務(wù)過程也能被Flash網(wǎng)站或者無線聯(lián)網(wǎng)的應(yīng)用程序所重用。

因?yàn)槟P褪亲园模⑶遗c控制器和視圖相分離,所以很容易改變你的應(yīng)用程序的數(shù)據(jù)層和業(yè)務(wù)規(guī)則。如果你想把你的數(shù)據(jù)庫從MySQL移植到Oracle,或者改變你的基于RDBMS數(shù)據(jù)源到LDAP,只需改變你的模型即可。一旦你正確的實(shí)現(xiàn)了模型,不管你的數(shù)據(jù)來自數(shù)據(jù)庫或是LDAP服務(wù)器,視圖將會(huì)正確的顯示它們。由于運(yùn)用MVC的應(yīng)用程序的三個(gè)部件是相互獨(dú)立,改變其中一個(gè)不會(huì)影響其它兩個(gè),所以依據(jù)這種設(shè)計(jì)思想你能構(gòu)造良好的松耦合的構(gòu)件。

對(duì)我來說,控制器也提供了一個(gè)好處,就是可以使用控制器來聯(lián)接不同的模型和視圖去完成用戶的需求,這樣控制器可以為構(gòu)造應(yīng)用程序提供強(qiáng)有力的手段。給定一些可重用的模型和視圖,控制器可以根據(jù)用戶的需求選擇模型進(jìn)行處理,然后選擇視圖將處理結(jié)果顯示給用戶。

拿一個(gè)簡(jiǎn)單的登陸模塊說,需求是你輸入一個(gè)用戶名、密碼,如果輸入的跟預(yù)先定義好的一樣,那么就進(jìn)入到正確頁面,如果不一樣,就提示個(gè)錯(cuò)誤信息。

V這個(gè)小小的模塊中,起始的輸入用戶名密碼的頁面跟經(jīng)過校驗(yàn)后顯示的頁面就相當(dāng)于ViewC而這里還需要一個(gè)controller頁面,就是用于接收輸入進(jìn)來的用戶名密碼,還有經(jīng)過校驗(yàn)后返回的一個(gè)flg(此flg就是用于判斷你輸入的是否正確,而跳轉(zhuǎn)到相應(yīng)的頁面的)

M最后還缺一個(gè)Model,那么就是你那個(gè)用于校驗(yàn)的類了,他就是處理你輸入的是否跟預(yù)先訂好的一樣不一樣的,之后返回一個(gè)flg.這樣就完全實(shí)現(xiàn)了邏輯跟頁面的分離,我頁面不管你咋整,反正我就一個(gè)顯示,而controller呢也不管你Model咋判斷對(duì)不對(duì),反正我給你了用戶名跟密碼,你就得給我整回來一個(gè)flg來,而Medol呢,則是反正你敢給我個(gè)用戶名跟密碼,我就給你整過去個(gè)flg

m提供數(shù)據(jù),數(shù)據(jù)之間的關(guān)系,轉(zhuǎn)化等。并可以通知視圖和控制器自己哪些地方發(fā)生了變化。

v提供顯示,能根據(jù)m的改變來更新自己c比如視圖做了點(diǎn)擊一個(gè)按鈕,會(huì)先發(fā)給這個(gè)視圖的控制器,然后這個(gè)控制器來決定做什么操作(讓模型更新數(shù)據(jù),控制視圖改變)

mvc是一個(gè)復(fù)合模式mv,mc都是觀察者模式m內(nèi)部的組件組合模式vc之間是策略模式(可以隨時(shí)更換不同的控制器)

————————————-

MVC模式是上世紀(jì)70年代提出,最初用于Smalltalk平臺(tái)上的。

MVC是表現(xiàn)模式,是用來向用戶展現(xiàn)的許多組建的一個(gè)模式(UI/PresentationPatten)

MVC有三種角色:Model:用來儲(chǔ)存數(shù)據(jù)的組件(與領(lǐng)域模型概念不同,兩者會(huì)相互交叉)

View:從Model中獲取數(shù)據(jù)進(jìn)行內(nèi)容展示的組件。同樣的Model在不同的View下可展示不同的效果。獲取Model的狀態(tài),而不對(duì)其進(jìn)行操作。

Controller:接受并處理用戶指令(操作Model(業(yè)務(wù))),選擇一個(gè)View進(jìn)行操作。

MVC概述:協(xié)作存在單向引用,例如Model不知道View和Controller的存在。View不知道Controller的存在。這就隔離了表現(xiàn)和數(shù)據(jù)。View和controller是單向引用。而實(shí)際中View和Controller也是有數(shù)據(jù)交互的。

MVC的重要特點(diǎn)是分離。兩種分離:View和數(shù)據(jù)(Model)的分離使用不同的View對(duì)相同的數(shù)據(jù)進(jìn)行展示;分離可視和不可視的組件,能夠?qū)odel進(jìn)行獨(dú)立測(cè)試。因?yàn)榉蛛x了可視組件減少了外部依賴?yán)跍y(cè)試。(數(shù)據(jù)庫也是一種外部組件)

View和表現(xiàn)邏輯(Controller)的分離Controller是一個(gè)表現(xiàn)邏輯的組件,并非一個(gè)業(yè)務(wù)邏輯組件。MVC可以作為表現(xiàn)模式也可以作為建構(gòu)模式,意味這Controller也可以是業(yè)務(wù)邏輯。分離邏輯和具體展示,能夠?qū)壿嬤M(jìn)行獨(dú)立測(cè)試。

MVC和三層架構(gòu)MVC與三層架構(gòu)類似么?

View-UILayer|Controller-BussinessLayer|Model-DataAccessLayer其實(shí)這樣是錯(cuò)誤的MVC是表現(xiàn)模式(PresentationPattern)

三層架構(gòu)是典型的架構(gòu)模式(ArchitecturePattern)

三層架構(gòu)的分層模式是典型的上下關(guān)系,上層依賴于下層。但MVC作為表現(xiàn)模式是不存在上下關(guān)系的,而是相互協(xié)作關(guān)系。即使將MVC當(dāng)作架構(gòu)模式,也不是分層模式。MVC和三層架構(gòu)基本沒有可比性,是應(yīng)用于不同領(lǐng)域的技術(shù)。

好了,關(guān)于mvc模式前面是什么和mvc模式適用于以下哪些情況的問題到這里結(jié)束啦,希望可以解決您的問題哈!

主站蜘蛛池模板: 色综合久久88色综合天天 | 伊伊人成亚洲综合人网7777| 国产成人综合亚洲亚洲国产第一页| 婷婷色香五月激情综合2020| 欧美日韩一区二区综合| 国产欧美综合一区二区三区| 一本色道久久88加勒比—综合| 伊人色综合久久天天人手人婷 | 中文字幕乱码人妻综合二区三区| 久久婷婷五月综合97色| 色综合网站国产麻豆| 伊人久久大香线蕉综合热线| 人人妻人人狠人人爽天天综合网| 欧美国产日韩综合在线| 亚洲国产欧洲综合997久久| 狠狠色综合久色aⅴ网站| 国产成人综合亚洲AV第一页| 国产激情综合在线观看| 91精品国产色综合久久| 久久久久久久综合日本| 国产日韩欧美综合| 91欧美一区二区三区综合在线 | 久久婷婷色综合一区二区| 亚洲综合日韩中文字幕v在线 | 久久综合九色综合网站| 日韩亚洲人成在线综合日本| 久久综合一区二区无码| 亚洲欧美日韩综合| 色欲综合久久中文字幕网| 欧美日韩亚洲国内综合网| 91欧美一区二区三区综合在线| 亚洲色图综合在线| 18和谐综合色区| 色欲综合久久中文字幕网| 久久综合国产乱子伦精品免费| 色欲香天天综合网站| 色婷婷狠狠久久综合五月| 久久久久久综合网天天| 久久久久青草线蕉综合超碰| 亚洲精品欧美综合在线| 国产综合精品女在线观看|