《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動(dòng)態(tài) > 一文讀懂分層架構(gòu)的依據(jù)與原則是什么?

一文讀懂分層架構(gòu)的依據(jù)與原則是什么?

2018-07-27
關(guān)鍵詞: 分層架構(gòu) Layer ConcernPoint

  認(rèn)識(shí)分層架構(gòu)

  分層架構(gòu)是運(yùn)用最為廣泛的架構(gòu)模式,幾乎每個(gè)軟件系統(tǒng)都需要通過層(Layer)來隔離不同的關(guān)注點(diǎn)(Concern Point),以此應(yīng)對(duì)不同需求的變化,使得這種變化可以獨(dú)立進(jìn)行;此外,分層架構(gòu)模式還是隔離業(yè)務(wù)復(fù)雜度與技術(shù)復(fù)雜度的利器,《領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)模式、原理與實(shí)踐》寫道:

  為了避免將代碼庫變成大泥球(BBoM)并因此減弱領(lǐng)域模型的完整性且最終減弱可用性,系統(tǒng)架構(gòu)要支持技術(shù)復(fù)雜性與領(lǐng)域復(fù)雜性的分離。引起技術(shù)實(shí)現(xiàn)發(fā)生變化的原因與引起領(lǐng)域邏輯發(fā)生變化的原因顯然不同,這就導(dǎo)致基礎(chǔ)設(shè)施和領(lǐng)域邏輯問題會(huì)以不同速率發(fā)生變化。

  這里所謂的“以不同速率發(fā)生變化”,其實(shí)就是引起變化的原因各有不同,這正好是單一職責(zé)原則(Single-Responsibility Principle,SRP)的體現(xiàn)。Robert Martin 認(rèn)為單一職責(zé)原則就是“一個(gè)類應(yīng)該只有一個(gè)引起它變化的原因”,換言之,如果有兩個(gè)引起類變化的原因,就需要分離。單一職責(zé)原則可以理解為架構(gòu)原則,這時(shí)要考慮的就不是類,而是層次。我們?yōu)槭裁匆獙I(yè)務(wù)與基礎(chǔ)設(shè)施分開?正是因?yàn)橐鹚鼈冏兓脑虿煌?/p>

  經(jīng)典分層架構(gòu)

  分層架構(gòu)由來已久,將一個(gè)軟件系統(tǒng)進(jìn)行分層,似乎已經(jīng)成為了每個(gè)開發(fā)人員的固有意識(shí),甚至不必思考即可自然得出。這其中最為經(jīng)典的就是三層架構(gòu)以及領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)提出的四層架構(gòu)。

  經(jīng)典三層架構(gòu)

  在軟件架構(gòu)中,經(jīng)典三層架構(gòu)自頂向下由用戶界面層(User Interface Layer)、業(yè)務(wù)邏輯層(Business Logic Layer)與數(shù)據(jù)訪問層(Data Access Layer)組成。該分層架構(gòu)之所以能夠流行,是有其歷史原因的。在提出該分層架構(gòu)的時(shí)代,多數(shù)企業(yè)系統(tǒng)往往較為簡單,本質(zhì)上都是一個(gè)單體架構(gòu)(Monolithic Architecture)的數(shù)據(jù)庫管理系統(tǒng)。這種分層架構(gòu)已經(jīng)是Client-Server架構(gòu)的進(jìn)化了,它有效地隔離了業(yè)務(wù)邏輯與數(shù)據(jù)訪問邏輯,使得這兩個(gè)不同關(guān)注點(diǎn)能夠相對(duì)自由和獨(dú)立地演化。一個(gè)經(jīng)典的三層架構(gòu)如下所示:

1.png

  領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的經(jīng)典分層架構(gòu)

  領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)在經(jīng)典三層架構(gòu)的基礎(chǔ)上做了進(jìn)一步改良,在用戶界面層與業(yè)務(wù)邏輯層之間引入了新的一層,即應(yīng)用層(Application Layer)。同時(shí),一些層次的命名也發(fā)生了變化。將業(yè)務(wù)邏輯層更名為領(lǐng)域?qū)幼匀皇穷}中應(yīng)有之義,而將數(shù)據(jù)訪問層更名為基礎(chǔ)設(shè)施層(Infrastructure Layer),則突破了之前數(shù)據(jù)庫管理系統(tǒng)的限制,擴(kuò)大了這個(gè)負(fù)責(zé)封裝技術(shù)復(fù)雜度的基礎(chǔ)層次的內(nèi)涵。下圖為 Eric Evans 在其經(jīng)典著作《領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)》中的分層架構(gòu):

2.png

  追溯分層架構(gòu)的本源

  當(dāng)分層架構(gòu)變得越來越普及時(shí),我們的設(shè)計(jì)反而變得越來越僵化。一部分軟件設(shè)計(jì)師并未理解分層架構(gòu)的本質(zhì),只知道依樣畫葫蘆地將分層應(yīng)用到系統(tǒng)中。要么采用經(jīng)典的三層架構(gòu),要么遵循領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)改進(jìn)的四層架構(gòu),卻未思考和叩問如此分層究竟有何道理?這是分層架構(gòu)被濫用的根源。

  視分層(Layer)為一個(gè)固有的架構(gòu)模式,其濫觴應(yīng)為 Frank Buschmann 等人著的《面向模式的軟件架構(gòu)》第一卷《模式系統(tǒng)》。該模式參考了 ISO 對(duì) TCP/IP 協(xié)議的分層?!赌J较到y(tǒng)》對(duì)分層的描述為:

  分層架構(gòu)模式有助于構(gòu)建這樣的應(yīng)用:它能被分解成子任務(wù)組,其中每個(gè)子任務(wù)組處于一個(gè)特定的抽象層次上。

  顯然,這里所謂的“分層”首先是一個(gè)邏輯的分層,對(duì)子任務(wù)組的分解需要考慮抽象層次,一種水平的抽象層次。既然為水平的分層,必然存在層的高與低;而抽象層次的不同,又決定了分層的數(shù)量。因此,對(duì)于分層架構(gòu),我們需要解決如下問題:

  分層的依據(jù)與原則是什么?

  層與層之間是怎樣協(xié)作的?

  分層的依據(jù)與原則

  我們之所以要以水平方式對(duì)整個(gè)系統(tǒng)進(jìn)行分層,是我們下意識(shí)地確定了一個(gè)認(rèn)知規(guī)則:機(jī)器為本,用戶至上。機(jī)器是運(yùn)行系統(tǒng)的基礎(chǔ),而我們打造的系統(tǒng)卻是為用戶提供服務(wù)的。分層架構(gòu)中的層次越往上,其抽象層次就越面向業(yè)務(wù),面向用戶;分層架構(gòu)中的層次越往下,其抽象層次就變得越通用,面向設(shè)備。為什么經(jīng)典分層架構(gòu)為三層架構(gòu)?正是源于這樣的認(rèn)知規(guī)則:其上,面向用戶的體驗(yàn)與交互;其中,面向應(yīng)用與業(yè)務(wù)邏輯;其下,面對(duì)各種外部資源與設(shè)備。在進(jìn)行分層架構(gòu)設(shè)計(jì)時(shí),我們完全可以基于這個(gè)經(jīng)典的三層架構(gòu),沿著水平方向進(jìn)一步切分屬于不同抽象層次的關(guān)注點(diǎn)。因此,分層的第一個(gè)依據(jù)是基于關(guān)注點(diǎn)為不同的調(diào)用目的劃分層次。以領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的四層架構(gòu)為例,之所以引入應(yīng)用層(Application Layer),就是為了給調(diào)用者提供完整的業(yè)務(wù)用例。

  分層的第二個(gè)依據(jù)是面對(duì)變化。分層時(shí)應(yīng)針對(duì)不同的變化原因確定層次的邊界,嚴(yán)禁層次之間互相干擾,或者至少將變化對(duì)各層帶來的影響降到最低。例如數(shù)據(jù)庫結(jié)構(gòu)的修改自然會(huì)影響到基礎(chǔ)設(shè)施層的數(shù)據(jù)模型以及領(lǐng)域?qū)拥念I(lǐng)域模型,但當(dāng)我們僅需要修改基礎(chǔ)設(shè)施層中數(shù)據(jù)庫訪問的實(shí)現(xiàn)邏輯時(shí),就不應(yīng)該影響到領(lǐng)域?qū)恿恕优c層之間的關(guān)系應(yīng)該是正交的。所謂“正交”,并非二者之間沒有關(guān)系,而是垂直相交的兩條直線。唯一相關(guān)的依賴點(diǎn)是這兩條直線的相交點(diǎn),即兩層之間的協(xié)作點(diǎn)。正交的兩條直線,無論哪條直線進(jìn)行延伸,都不會(huì)對(duì)另一條直線產(chǎn)生任何影響(指直線的投影)。如果非正交,即“斜交”,當(dāng)一條直線延伸時(shí),它總是會(huì)投影到另一條直線,這就意味著另一條直線會(huì)受到它變化的影響。

  在進(jìn)行分層時(shí),我們還應(yīng)該保證同一層的組件處于同一個(gè)抽象層次。這是分層架構(gòu)的設(shè)計(jì)原則,它借鑒了 Kent Beck 在 Smalltalk Best Practice Patterns 一書提出的“組合方法”模式。該模式要求一個(gè)方法中的所有操作處于相同的抽象層,這就是所謂的“單一抽象層次原則(SLAP)”。這一原則可以運(yùn)用到分層架構(gòu)中。例如在一個(gè)基于元數(shù)據(jù)的多租戶報(bào)表系統(tǒng)中,我們特別定義了一個(gè)引擎層(engine layer),這是一個(gè)隱喻,相當(dāng)于為報(bào)表系統(tǒng)提供報(bào)表、實(shí)體與數(shù)據(jù)的驅(qū)動(dòng)引擎。引擎層之下,是基礎(chǔ)設(shè)施層,提供了多租戶、數(shù)據(jù)庫訪問與元數(shù)據(jù)解析與管理等功能。在引擎層之上是一個(gè)控制層,通過該控制層的組件可以將引擎層的各個(gè)組件組合起來。分層架構(gòu)的頂端是面向用戶的用戶展現(xiàn)層。如下圖所示:

3.png

 

  層之間的協(xié)作

  在我們固有的認(rèn)識(shí)中,分層架構(gòu)的依賴都是自頂向下傳遞的,這也符合大多數(shù)人對(duì)分層的認(rèn)知模型。從抽象層次看,層次越處于下端,就會(huì)變得越通用越公共,與具體的業(yè)務(wù)隔離得越遠(yuǎn)。出于重用的考慮,這些通用和公共的功能往往會(huì)被單獨(dú)剝離出來形成平臺(tái)或框架,在系統(tǒng)邊界內(nèi)的低層,除了面向高層提供足夠的實(shí)現(xiàn)外,就都成了平臺(tái)或框架的調(diào)用者。換言之,越是通用的層,越有可能與外部平臺(tái)或框架形成強(qiáng)依賴。若依賴的傳遞方向仍然采用自頂向下,就會(huì)導(dǎo)致系統(tǒng)的業(yè)務(wù)對(duì)象也隨之依賴于外部平臺(tái)或框架。

  依賴倒置原則(Dependency Inversion Principle,DIP)提出了對(duì)這種自頂向下依賴的挑戰(zhàn),它要求“高層模塊不應(yīng)該依賴于低層模塊,二者都應(yīng)該依賴于抽象?!边@個(gè)原則正本清源,給了我們當(dāng)頭棒喝——誰規(guī)定在分層架構(gòu)中,依賴就一定要沿著自頂向下的方向傳遞?我們常常理解依賴,是因?yàn)楸灰蕾嚪叫枰獮橐蕾嚪剑ㄕ{(diào)用方)提供功能支撐,這是從功能重用的角度來考慮的。但我們不能忽略變化對(duì)系統(tǒng)產(chǎn)生的影響!與建造房屋一樣,我們自然希望分層的模塊“構(gòu)建”在穩(wěn)定的模塊之上。誰更穩(wěn)定?抽象更穩(wěn)定。因此,依賴倒置原則隱含的本質(zhì)是:我們要依賴不變或穩(wěn)定的元素(類、模塊或?qū)樱R簿褪窃撛瓌t的第二句話:抽象不應(yīng)該依賴于細(xì)節(jié),細(xì)節(jié)應(yīng)該依賴于抽象。

  這一原則實(shí)際是“面向接口設(shè)計(jì)”原則的體現(xiàn),即“針對(duì)接口編程,而不是針對(duì)實(shí)現(xiàn)編程”。高層模塊對(duì)低層模塊的實(shí)現(xiàn)是一無所知的,帶來的好處是:

  低層模塊的細(xì)節(jié)實(shí)現(xiàn)可以獨(dú)立變化,避免變化對(duì)高層模塊產(chǎn)生污染

  在編譯時(shí),高層模塊可以獨(dú)立于低層模塊單獨(dú)存在

  對(duì)于高層模塊而言,低層模塊的實(shí)現(xiàn)是可替換的

  倘若高層依賴于低層的抽象,必然會(huì)面對(duì)一個(gè)問題:如何將具體的實(shí)現(xiàn)傳遞給高層的類?由于在高層通過接口隔離了對(duì)具體實(shí)現(xiàn)的依賴,就意味著這個(gè)具體依賴被轉(zhuǎn)移到了外部,究竟使用哪一種具體實(shí)現(xiàn),由外部的調(diào)用者來決定。只有在運(yùn)行調(diào)用者代碼時(shí),才將外面的依賴傳遞給高層的類。Martin Fowler 形象地將這種機(jī)制稱為“依賴注入(dependency injection)”。

  為了更好地解除高層對(duì)低層的依賴,我們往往需要將依賴倒置原則與依賴注入結(jié)合起來。

  層之間的協(xié)作并不一定是自頂向下的傳遞通信,也有可能是自底向上通信,例如在 CIMS(計(jì)算機(jī)集成制造系統(tǒng))中,往往會(huì)由低層的設(shè)備監(jiān)測系統(tǒng)監(jiān)測(偵聽)設(shè)備狀態(tài)的變化。當(dāng)狀態(tài)發(fā)生變化時(shí),需要將變化的狀態(tài)通知到上層的業(yè)務(wù)系統(tǒng)。如果說自頂向下的消息傳遞往往被描述為“請(qǐng)求(或調(diào)用)”,則自底向上的消息傳遞則往往被形象地稱之為“通知”。倘若我們顛倒一下方向,自然也可以視為這是上層對(duì)下層的觀察,故而可以運(yùn)用觀察者模式(Observer Pattern),在上層定義 Observer 接口,并提供 update() 方法供下層在感知狀態(tài)發(fā)生變更時(shí)調(diào)用。或者,我們也可以認(rèn)為這是一種回調(diào)機(jī)制。雖然本質(zhì)上這并非回調(diào),但設(shè)計(jì)原理是一樣的。

  如果采用了觀察者模式,則與前面講述的依賴倒置原則有差相仿佛之意,因?yàn)橄聦訛榱送ㄖ蠈樱枰{(diào)用上層提供的 Observer 接口。如此看來,無論是上層對(duì)下層的“請(qǐng)求(或調(diào)用)”,抑或下層對(duì)上層的“通知”,都顛覆了我們固有思維中那種高層依賴低層的理解。

  現(xiàn)在,我們對(duì)分層架構(gòu)有了更清醒的認(rèn)識(shí)。我們必須要打破那種談分層架構(gòu)必為經(jīng)典三層架構(gòu)又或領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)推薦的四層架構(gòu)這種固有思維,而是將分層視為關(guān)注點(diǎn)分離的水平抽象層次的體現(xiàn)。既然如此,架構(gòu)的抽象層數(shù)就不是固定的,甚至每一層的名稱也未必遵循固有(經(jīng)典)的分層架構(gòu)要求。設(shè)計(jì)系統(tǒng)的層需得結(jié)合該系統(tǒng)的具體業(yè)務(wù)場景而定。當(dāng)然,我們也要認(rèn)識(shí)到層次多少的利弊:過多的層會(huì)引入太多的間接而增加不必要的開支,層太少又可能導(dǎo)致關(guān)注點(diǎn)不夠分離,導(dǎo)致系統(tǒng)的結(jié)構(gòu)不合理。

  我們還需要正視架構(gòu)中各層之間的協(xié)作關(guān)系,打破高層依賴低層的固有思維,從解除耦合(或降低耦合)的角度探索層之間可能的協(xié)作關(guān)系。另外,我們還需要確定分層的架構(gòu)原則(或約束),例如是否允許跨層調(diào)用,即每一層都可以使用比它低的所有層的服務(wù),而不僅僅是相鄰低層。這就是所謂的“松散分層系統(tǒng)(Relaxed Layered System)”。

  該怎么演進(jìn)領(lǐng)域驅(qū)動(dòng)架構(gòu)?

  我們?cè)谏衔闹谢仡櫫私?jīng)典三層架構(gòu)與領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)四層架構(gòu),然而任何技術(shù)結(jié)論都并非句點(diǎn),而僅僅代表了滿足當(dāng)時(shí)技術(shù)背景的一種判斷,技術(shù)總是在演進(jìn),領(lǐng)域驅(qū)動(dòng)架構(gòu)亦是如此。與其關(guān)心結(jié)果,不如將眼睛投往這個(gè)演進(jìn)的過程,或許風(fēng)景會(huì)更加動(dòng)人。

  根據(jù)“依賴倒置原則”與 Robert Martin 提出的“整潔架構(gòu)”思想,我們推翻了Eric Evans 在《領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)》書中提出的分層架構(gòu)。Vaughn Vernon 在《實(shí)現(xiàn)領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)》一書中給出了改良版的分層架構(gòu),他將基礎(chǔ)設(shè)施層奇怪地放在了整個(gè)架構(gòu)的最上面:

4.png

  整個(gè)架構(gòu)模型清晰地表達(dá)了領(lǐng)域?qū)觿e無依賴的特質(zhì),但整個(gè)架構(gòu)卻容易給人以一種錯(cuò)亂感。單以這個(gè)分層模型來看,雖則沒有讓高層依賴低層,卻又反過來讓低層依賴了高層,這仍然是不合理的。當(dāng)然你可以說此時(shí)的基礎(chǔ)設(shè)施層已經(jīng)變成了高層,然而從之前分析的南向網(wǎng)關(guān)與北向網(wǎng)關(guān)來說,基礎(chǔ)設(shè)施層存在被“肢解”的可能。坦白講,這個(gè)架構(gòu)模型仍然沒有解決人們對(duì)分層架構(gòu)的認(rèn)知錯(cuò)誤,例如它并沒有很好地表達(dá)依賴倒置原則與依賴注入。還需要注意的是,這個(gè)架構(gòu)模型將基礎(chǔ)設(shè)施層放在了整個(gè)分層架構(gòu)的最頂端,導(dǎo)致它依賴了用戶界面層,這似乎并不能自圓其說。我們需要重新梳理領(lǐng)域驅(qū)動(dòng)架構(gòu),展示它的演進(jìn)過程。

  那么到底該怎么演進(jìn)領(lǐng)域驅(qū)動(dòng)架構(gòu)?感興趣的同學(xué)可以在我的達(dá)人課《領(lǐng)域驅(qū)動(dòng)戰(zhàn)略設(shè)計(jì)實(shí)踐》里了解更系統(tǒng)的架構(gòu)知識(shí)內(nèi)容。這是專門為了想提高軟件架構(gòu)設(shè)計(jì)能力的軟件架構(gòu)師量身定制的系統(tǒng)課程,也是是國內(nèi)第一個(gè)全面講解 DDD 的原創(chuàng)課程。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 成人性生交大片免费看视频hd | 成人免费观看男女羞羞视频 | 51精品视频在线视频观看 | 久久精品国产三级 | 99久久精品费精品国产一区二区 | 嫩草视频在线观看 | 久久久香蕉网 | 亚洲理论电影在线观看 | 黄色免费网站视频 | 日本亚洲欧美 | 久久伊人成人 | 精品香蕉一区二区三区 | 亚洲网址在线观看 | 天天躁恨躁夜躁2020优势对比 | 高清无码一区二区在线观看吞精 | 国精产品乱码视频一区二区 | 免费一区 | 美女翘臀少妇啪啪呻吟流水 | 精品欧美一区二区精品久久久 | 国内av片| 无尽3d精品hentai在线视频 | 丰满蕾丝乳罩少妇呻视频 | 337p日本欧洲亚洲大胆 | 性欧美在线视频 | 午夜天堂 | 亚洲黄网站wwwwwwwww | 国产免费看插插插视频 | 神马国产 | 小镇姑娘1979版 | 黄色小毛片 | 午夜免费啪视频在线观看 | 欧美乱妇狂野欧美在线视频 | 欧美一区二区三区四 | 欧美精品xxxxx| 超碰在线免费 | 色肉色伦交国产69精品 | 日本美女极度性诱惑卡不卡 | 91动漫禁漫成人 | 性按摩aaaaaa视频 | 中国免费看的片 | 国产午夜福利在线机视频 | 男女天堂av | 国产三级自拍 | 亚洲国产另类久久久精品小说 | 未满十八18禁止午夜免费网站 | 日韩中文字幕免费在线观看 | 国产超碰人人 | 国产精品久久久久久久久久东京 | 欧美老熟妇乱大交xxxxx | 国产偷v国产偷v亚洲高清 | ,亚洲人成毛片在线播放 | 天干天干天啪啪夜爽爽av网站 | 国产女无套免费网站 | 可以在线看黄的网站 | 青青草97国产精品免费观看 | 欧美日韩在线网站 | 极品美女一线天粉嫩 | 97涩国一产精品久久久久久久 | 无码人妻一区二区三区在线 | 日本丰满熟妇乱子伦 | 亚洲高清视频在线观看 | 韩国乱码片免费看 | 天干夜天干天天天爽视频 | 精品视频九九 | 91精品国产欧美一区二区成人 | 国产乱码精品1区2区3区 | 激情综合影院 | 98国产精品综合一区二区三区 | 91久久夜色精品国产网站 | 亚洲天堂av一区 | 欧美巨大巨粗黑人性aaaaaa | 97国产精品久久久 | 大陆少妇xxxx做受高清 | 欧美黄色小视频 | 亚洲欭美日韩颜射在线二 | 蜜桃臀无码内射一区二区三区 | 久久久www | 成人软件在线观看 | 日日躁夜夜躁狠狠躁 | 黑料视频在线观看 | 伊人激情| 色综合久久天天综合网 | 人人看人人艹 | 免费观看性生交大片3 | 夜夜操网站| 亚洲中文字幕无码av永久 | 高hnp视频| 中文无码热在线视频 | 欧洲s码亚洲m码精品一区 | 日本a大片 | 26uuu国产精品 | 精品亚洲麻豆1区2区3区 | 免费国产网站 | 精品一区二区三区免费视频 | 日韩精品一区二区三区四区在线观看 | 四虎在线精品 | 亚洲手机视频 | 99热免费在线观看 | 亚洲狠狠婷婷综合久久久久图片 | xx中文字幕乱偷avxx | 久艹伊人| 日本爽爽爽爽爽爽在线观看免 | 国产一卡二卡三卡四卡 | 操韩国美女 | 日本激情吻胸吃奶呻吟视频 | 国产素人在线观看 | 一区二区在线观看免费视频 | 成人香蕉视频 | 51色视频| 看黄网站在线观看 | 国产精品s | 91网站在线观看视频 | 在线观看欧美日韩视频 | 在线免费一级片 | 欧美a在线观看 | 理论片午午伦夜理片影院99 | 国产精品点击进入在线影院高清 | 日本a级网站 | 精品人妻一区二区三区四区在线 | 久久久久免费看成人影片 | 精品爆乳一区二区三区无码av | 一区免费视频 | 97国精产品无人区一码二码 | 日本伦奷在线播放 | 精品无人乱码一区二区 | av免费在线观看网站 | 欧美特级黄 | 激情综合色综合啪啪五月丁香 | 丰满少妇作爱视频免费观看 | 亚洲网址在线观看 | 日韩精品综合 | 久久网亚洲 | 日韩成人免费 | 亚洲欧美中文日韩在线 | 精品无码国产av一区二区 | 亚洲第一成人区av桥本有菜 | 精品乱码久久久久久中文字幕 | 国产中年夫妇交换高潮呻吟 | 国产日产精品一区二区 | 91国内精品自线在拍白富美 | 99久久久久久 | 中文字字幕在线中文乱码范文 | 精品国产片一区二区三区 | 女人被狂躁c到高潮喷水电影 | 国产69精品久久久久99 | 国产精品毛片va一区二区三区 | 中国老熟妇自拍hd发布 | 香蕉影院在线观看 | 日本一区二区在线视频 | 美女啪啪国产 | 2021国产精品一卡2卡三卡4卡 | 亚洲天堂网站 | 国产精品成人免费一区二区视频 | 日本中文字幕在线 | 黄色免费在线播放 | 天堂另类网站 | 精品无码中文字幕在线 | 久久精品a一国产成人免费网站 | 国产99久久久国产精品成人免费 | 色妞www精品免费视频 | 国产精品成人av在线观看 | 亚洲在线国产日韩欧美 | 亚洲一区二区欧美 | 亚洲激情综合 | 特大黑人娇小亚洲女喉交 | 日韩伊人久久 | 人人草超碰 | 天天躁狠狠躁狠狠躁夜夜躁 | 中文字幕第2页 | 51国偷自产一区二区三区的来源 | 成人免费毛片内射美女-百度 | 日本一级片在线播放 | 久久久亚洲国产精品 | 国产91在线视频 | 亚洲春色av| 中文字幕在线播放 | 色欲久久综合亚洲精品蜜桃 | 久久午夜福利电影 | 欧美成人专区 | 免费无码的av片在线观看 | 国产色多传媒网站 | 玉米地疯狂的吸允她的奶视频 | 欧美日韩激情在线观看 | 国精品人妻无码一区二区三区性色 | 国产好爽又高潮了毛片91 | 国精品人妻无码一区二区三区喝尿 | 国产99久 | 久久久一本 | gogo精品国模啪啪作爱 | 夜夜精品浪潮av一区二区三区 | 高h禁伦餐桌上的肉伦 | 国产大片aaa| 天堂中文8资源在线8 | 人妻少妇精品无码专区app | 最近中文在线观看 | 农村少妇野战做爰全过程 | 6699嫩草久久久精品影院 | 在线天堂中文在线资源网 | 天天噜噜噜噜噜噜 | 国产偷国产偷亚洲清高动态图 | 欧洲色区| 精品国模一区二区三区 | 国产精品久久久久久久久久蜜臀 | 国产一级片免费 | 欧美精品videossex少妇 | 任你操精品视频 | 男人的天堂色偷偷 | 国产91勾搭技师精品 | 国产又黄又嫩又滑又白 | 夜夜爽夜夜 | 蜜桃aaa| 久久精品中文字幕有码 | www.com操| 国产熟妇另类久久久久 | 一本色道久久综合亚洲精品不 | 日本做爰高潮片免费视频 | 国产精品久久久久久久成人午夜 | 91多人xxx少妇 | 免费大片黄在线观看 | 日韩性生活大片 | 欧美在线视频一区 | 亚洲你懂得| 中文有码在线观看 | 成人免费网站视频ww破解版 | 7788色淫网站免费观看 | 可播放的亚洲男同网站 | 三级国产视频 | 欧美日韩国产三区 | 久久99精品久久久久久 | 国产精华一区二区三区 | 动漫av纯肉无码av在线播放 | 偷妻h高h短篇 | 91精品国产麻豆国产自产影视 | 天堂久久一区二区 | 国产乱码精品一区二三赶尸艳谈 | 亚洲精品日韩精品 | 日韩欧美视频一区二区三区 | 欧美成人手机在线 | 亚洲春色综合另类网蜜桃 | 美女赤身免费网站 | 国产精品久久久久999 | 国产又色又爽又高潮免费 | 午夜久久网站 | 成人污污视频 | 波多野结衣一区二区三区高清 | 国产偷亚洲偷欧美偷精品 | 上司的丰满人妻中文字幕 | 国产av一区二区精品久久凹凸 | 一级片在线放映 | 韩国r级大尺度激情做爰外出 | 日韩欧美群交p片內射中文 三级4级全黄60分钟 | 国产一区调教91鞭打 | 久久久久久国 | 97一区二区三区 | 无码中文字幕日韩专区 | 亚洲欧洲无码av电影在线观看 | 国产精品嫩草99a | 欧美性猛交xxxx乱大交俱乐部 | 亚洲va欧美va人人爽 | 国产黄色免费观看 | 日韩乱淫| 成人18aa黄漫免费观看 | 黄网站色视频免费观看 | 67194av| 九色视频网 | 欧美精品久久久久久久久久丰满 | 中日一级毛片 | 国产精品毛片一区二区在线看舒淇 | 无遮挡国产高潮视频免费观看 | 中文毛片 | 懂色av噜噜一区二区三区av88 | 尤物精品在线观看 | 色五月丁香五月综合五月 | 中国女人啪啪69xxⅹ偷拍 | 美女又黄又免费 | 在线综合视频 | 亚洲三级视频 | 国产强伦姧在线观看无码 | 中文字幕亚洲综合久久 | 医生强烈淫药h调教小说阅读 | 狂野欧美性猛交免费视频 | 美女屁股眼视频免费 | 亚洲www视频| 久久久亚洲麻豆日韩精品一区三区 | 天天射综合网站 | 免费又黄又爽又猛的毛片 | 国产精品无码一区二区在线 | 久久久久久久久久一毛喷水 | 女人久久久久 | 国产精品美女久久久久久久久久久 | 东京热无码av男人的天堂 | 少妇一级淫片免费看 | 欧美激情视频一区二区三区 | 黄色大片免费的 | 日韩久久中文字幕 | 日本一区二区黄色 | 免费在线观看网址 | 欧美操老女人 | 丰满少妇69激情啪啪无 | 日本黄色www| 色国产在线 | 欧美狠狠爱 | 在线成人免费视频 | av激情小说 | 少妇裸体淫交免费看片 | 国产欧精精久久久久久久 | av无码久久久久久不卡网站 | 国产秋霞 | 国偷自产一区二区三区蜜臀 | 视频一区二区国产 | 亚洲国产成人爱av在线播放 | 东京热一本无码av | _级黄色片 | 四虎国产精品免费久久 | 学生妹亚洲一区二区 | 三级网站在线免费观看 | 少妇视频在线观看 | 国产日产亚洲系列最新 | 精品国产免费第一区二区三区 | 牲欧美bbbwbbbwbbbw| 欧美成人国产精品高潮 | 命带桃花1987在线 | 麻豆视频精品 | 国产精品内射视频免费 | 无码人妻丰满熟妇区五十路百度 | 日日摸天天添天天添破 | 免费在线黄色片 | 亚洲色欲色欲www在线丝 | 黄色大片网站在线观看 | 好男人天堂网 | 欧美xxxx黑人又粗又大 | а√天堂资源国产精品 | 久久久精品久久久久 | 性欧美videos另类hd | 欧美日韩国产精品 | 久久久精品久久日韩一区综合 | 日韩精品一线二线三线 | 中文字幕第31页 | 日日躁你夜夜躁你av蜜 | 人人爽人人片人人片av | 欧美日韩制服 | 欧美最猛黑人xxxx黑人猛交 | 久青草国产在视频在线观看 | 成人亚洲网站 | 一区二区三区精品国产 | 91精品婷婷国产综合久久蝌蚪 | 夜夜爱视频 | 网站国产| 久久久久成人精品免费播放动漫 | 欧美精品日韩 | 国产精品伦子伦免费视频 | 午夜h视频| 国产又粗又深又猛又爽又在线观看 | 精品无码久久久久久久久水蜜桃 | 国产视频一区在线播放 | 爱爱视频网址 | 亚洲国产av一区二区三区四区 | 丁香五香天综合情 | 国产综合影院 | 国产高清在线一区 | 欧美成人免费 | 亚洲少妇中出 | 少妇和小鲜肉高潮毛片 | 中文字幕在线视频播放 | 不卡精品视频 | 中国毛片视频 | 国产精品原创av片国产日韩 | 国产成人精品久久久 | 她也色在线观看 | 午夜在线国产 | 日本一区二区更新不卡 | 神马香蕉久久 | 国产精品人人做人人爽人人添 | 草草视频在线观看 | 在线免费观看的av | 亚洲www啪成人一区二区 | 91丨九色丨丰满 | 国产精品永久在线 | 亚洲欧美日韩久久 | 91av视频| 国产精品sm调教免费专区 | 久久逼逼 | 成人特级毛片 | 国产98在线 | 亚洲精品久久7777777 | 国产成人av在线婷婷不卡九色 | 北条麻妃99精品久久朝桐光 | 香蕉伊思人视频 | av永久免费 | 波多野结衣中文字幕久久 | 久热热| 国产熟妇另类久久久久 | 亚洲精品播放 | 成人涩涩视频 | 午夜在线观看免费视频 | 国产日韩欧美不卡在线二区 | 欧美xxx在线观看 | 131mm极品尤物美女无胸罩 | 文中字幕一区二区三区视频播放 | 国产香蕉视频在线播放 | 国产精品4区 | 加勒比一本heyzo高清视频 | 国产一区二区av | 久久99精品久久久久久hb无码 | 国产精品久久久久久久9999 | 久久无码字幕中文久久无码 | 成人激情视频网 | 色婷婷av一区二区三区影片 | 欧美一a一片一级一片 | 91免费国产精品 | 美足av| 五月天国色天香国语版 | 色午夜一av男人的天堂 | 日本妞xxxxxxxxx68| 肉视频在线观看 | 天天狠天天插 | 亚洲狼人天堂 | 国产精品久久国产三级国不卡顿 | 视频在线观看一区 | 无遮挡国产高潮视频免费观看 | 国产白丝无码免费视频 | 在线观看中文字幕码 | 情侣酒店偷拍一区二区在线播放 | 久久不雅视频 | 成人国产精品入口免费视频 | 91在线播| 无码吃奶揉捏奶头高潮视频 | 一级录像免费录像性高湖 | 玖玖玖视频| 色婷在线 | 中文字幕在线精品 | 在线97| 日韩欧美亚洲一区二区 | www操操操 | 999国产精品999久久久久久 | 欧美爽爽爽 | 久久国产精品99久久久久久进口 | 无码人妻出轨黑人中文字幕 | 久草免费网站 | 99久久人妻无码精品系列蜜桃 | 福利在线观看 | 成人3d动漫在线观看 | 国产中年夫妇高潮精品视频 | 69堂成人精品视频在线观看 | 国产一级 黄 片 | 美女福利视频 | 久久色婷婷 | 国产自产视频 | 91尤物国产福利在线观看 | 国产伦理一区二区三区 | 久久国产乱子伦精品 | 嫩草网站在线观看 | 免费男性肉肉影院 | 亚洲熟女一区二区三区 | 麻豆网站| 热re99久久精品国产99热 | 一区二区在线视频播放 | 国产无套内射普通话对白 | 成人国产精品一区二区 | 伦理一级片 | 26uuu精品一区二区在线观看 | 国产人妻精品一区二区三区 | 一本色道久久综合精品竹菊 | 亚洲国产精品女主播 | 精品国产美女福到在线不卡 | 国产脚交一视频丨vk | 久草在线视频免费资源观看 | 亚洲国产精品肉丝袜久久 | 性一交一乱一伦视频免费观看 | 窝窝午夜色视频国产精品破 | 色婷婷香蕉在线一区二区 | 国产又大又黑又粗免费视频 | 手机看片一区 | 黄色片播放器 | 裸体丰满白嫩大尺度尤物 | 久久一卡二卡 | 国产成人综合网 | 色av导航 | 成人精品视频在线看 | 古装做爰无遮挡三级聊斋艳谭 | 日本综合久久 | 一本岛在免费一二三区 | 俺去俺来也www色官网 | 国产人妻精品一区二区三区不卡 | 91精品国产综合久久久久影院不卡 | 黄色三级在线视频 | 国产在线麻豆精品观看 | 日本亲与子乱ay中文 | 国产一区二区视频在线 | 欧美性生活网址 | 国产手机av | 尹人色| 免费人成网站视频在线观看 | 欧美三日本三级少妇三2023 | 日本美女黄色 | 欧美日韩卡一卡二 | 蜜桃久久久久久久 | 亚洲成人精品在线观看 | 91精品国产综合久久福利软件 | 一本色道久久综合无码人妻 | 亚洲成av人片在线观看无码不卡 | 女人被狂躁60分钟视频 | 精品无码国产一区二区三区麻豆 | 91av视频网站 | 精品厕所偷拍各类美女tp嘘嘘 | 国产色无码精品视频国产 | 欧美激情综合 | 夜夜草视频 | 一本一道波多野结衣中文av字幕 | 影音先锋亚洲天堂 | 男女无遮挡做爰猛烈视频 | 久久久区 | 国产成人精品日本亚洲999 | 日批免费在线观看 | 亚洲人av在线 | 女女同性女同区二区国产 | 妖精色av无码国产在线看 | 亚洲女同av | 日韩在线不卡 | 婷婷国产一区综合久久精品 | 免费毛片在线 | 日韩中文字幕成人免费视频 | 欧美狂野另类xxxxoooo | 亚洲欧美国产精品久久久久久久 | 国产免费拔擦拔擦8x软件大全 | 国产性猛交普通话对白 | 亚洲欧美中文字幕5发布 | 波多野结衣视频免费看 | 少妇白浆高潮无码免费区 | 国产情侣真实露脸在线 | 国产精品一区二区久久不卡 | 亚洲国产精品视频一区 | 日本精品三级 | 亚洲成人免费在线 | 亚洲欧美人成电影在线观看 | 国自产拍偷拍精品 | 国产欧美日韩综合精品二区 | 巨人精品福利官方导航 | 久久伊人在 | 国产又粗又猛又爽又黄91网站 | 免费在线观看的黄色网址 | 天天爽夜夜爽人人爽一区二区 | 久久亚洲一区 | 韩国性猛交╳xxx乱大交 | 18禁美女黄网站色大片免费看 | 国产精品久久久久久婷婷不卡 | 亚色视频在线观看 | 黑人性猛爱xxxxx免费 | 国产精品资源一区二区 | 性av在线 | 日日噜噜夜夜狠狠久久波多野 | 午夜精品久久久久久久久久久久久 | 久久性生活片 | 国产成人a在线观看视频 | 成人一二三四区 | 精品成人一区二区三区四区 | 美女内射视频www网站午夜 | 五月婷婷综合在线观看 | 高清欧美性猛交xxxx黑人猛交 | 亚洲一片 | 婷婷成人综合 | 中文字幕日韩人妻不卡一区 | 国毛片| 中文字幕精品亚洲 | 久草麻豆| 国产高清免费看 | 秋霞影院一区二区 | 极品成人 | av片在线看 | 特级毛片在线 | 日韩精品成人免费观看视频 | 日韩第一视频 | 亚洲自拍在线观看 | 成人爱爱 | 一边吃奶一边摸下边激情说说 | 久久在线免费视频 | 亚洲欧洲日产国码久在线 | 国产精品久久久久久久久久综合 | 亚洲国产精品女人久久久 | 国产做受69高潮 | 看国产黄色片 | 97久久国产亚洲精品超碰热 | 国产精品对白 | 人妻一本久道久久综合久久鬼色 | 婷婷激情亚洲 | 日本极品级片 | 久久久精品在线观看 | av网站一区 | 午夜伦全在线观看 | 欧美中文在线视频 | 天天干在线播放 | 中文字幕第十二页 | 欧美成人精品欧美一级私黄 | 久久爱网| 国产一区二区精品在线观看 | 九九日韩| 91亚洲精品在线观看 | 有码中文字幕在线观看 | 美女粉嫩饱满的一线天mp4 | 一级全黄少妇性色生活片 | 精品亚洲成在人线av无码 | 一区二区三区回区在观看免费视频 | 牛牛a级毛片在线播放 | 免费看片免费播放国产 | 久久精品国产99 | 亚洲国产精品久久久久婷婷老年 | 国产美女特级嫩嫩嫩bbb | 伊人三级| 亚洲综合色成在线播放 | 中文字幕乱码中文乱码51精品 | 成人黄色在线视频 | 北条麻妃一区二区三区在线 | 亚洲国产精品久久久久婷婷老年 | 婷婷亚洲综合五月天小说 | 精品一区二区三区在线观看 |