精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

從 MVC 到 DDD 的架構演進

開發(fā) 架構
本文從 MVC 架構開始講述了如何從演進到 DDD 架構,限于篇幅很多 DDD 的知識點沒有講到,希望大家在實踐過程中能靈活運用,盡享 DDD 給業(yè)務帶來的價值。

DDD 這幾年越來越火,資料也很多,大部分的資料都偏向于理論介紹,有給出的代碼與傳統(tǒng) MVC 的三層架構差異較大,再加上大量的新概念很容易讓初學者望而卻步。本文從 MVC 架構角度來講解如何演進到 DDD 架構。

從 DDD 的角度看 MVC 架構的問題

代碼角度:

  • 瘦實體模型:只起到數(shù)據(jù)類的作用,業(yè)務邏輯散落到 service,可維護性越來越差;
  • 面向數(shù)據(jù)庫表編程,而非模型編程;
  • 實體類之間的關系是復雜的網(wǎng)狀結構,成為大泥球,牽一發(fā)而動全身,導致不敢輕易改代碼;
  • service 類承接的所有的業(yè)務邏輯,越來越臃腫,很容易出現(xiàn)幾千行的 service 類;
  • 對外接口直接暴露實體模型,導致不必要開放內(nèi)部邏輯對外暴露,就算有 DTO 類一般也是實體類的直接 copy;
  • 外部依賴層直接從 service 層調用,字段轉換、異常處理大量充斥在 service 方法中;

項目管理角度:

  • 交付效率:越來越低;
  • 穩(wěn)定性差:不好測試,代碼改動的影響范圍不好預估;
  • 理解成本高:新成員介入成本高,長期會導致模塊只有一個人最熟悉,離職成本很大;

第一層:初出茅廬

以上的問題越來越嚴重,很多人開始把眼光轉向 DDD,于是埋頭啃了幾本大部頭的書,對以下概念有了基本的了解:

  • 統(tǒng)一語言
  • 限界上下文
  • 領域、子域、支撐域
  • 聚合、實體、值對象
  • 分層:用戶接口層、應用層、領域層、基礎層

于是把 MVC 架構進行了改造,演進成 DDD 的分層架構。

DDD 分層架構:

image

MVC 架構到 DDD 分層架構的映射:

image

至此,算了基本入門了 DDD 架構,擴展性也得到了一定的提升。不過隨著業(yè)務的發(fā)展,不斷冒出新的問題:

  • 一段業(yè)務邏輯代碼,到底應該放到應用層還是領域層?
  • 領域服務當成原來的 MVC 中的 service 層,隨著業(yè)務不斷發(fā)展,類也在不斷膨脹,好像還是老樣子啊?
  • 聚合包含多個實體類,這個接口用不到這么多實體,為了性能還是直接寫個 SQL 返回必要的操作吧,不過這樣貌似又回到了 MVC 模式
  • 既然實體類可以包含業(yè)務邏輯、領域服務也可以放業(yè)務邏輯,那到底放哪里?
  • 資料上說領域層不能有外部依賴,要做到 100% 單測覆蓋,可是我的領域服務中需要用到外部接口、中央緩存等等,那這不就有了外部依賴了嗎?

第二層:草船借箭(戰(zhàn)術設計)

帶著問題不斷學習他人經(jīng)驗,并不斷的嘗試,逐漸 get 到以下技能:

1. 領域層

領域(domain)是個模塊,包含以下組成部分,傳統(tǒng)的 service 按功能可能拆分到任何一個地方,各司其職。

  • 1 個聚合
  • 1 到多個實體
  • 若干值對象
  • 多個 DomainService
  • 1 個 Factory:新建聚合
  • 1 個 Repository:聚合倉儲服務

(1) 聚合根(AggregateRoot)

聚合本身也是一個實體,聚合可以包含其他實體,其他實體不能脫離聚合而單獨提供服務,比如一篇文章下的評論,評論必須從屬與文章,沒有文章也就沒有評論。倉庫層(repository)也必須是以聚合為核心提供服務的;

  • 實體:可以理解為一張數(shù)據(jù)庫表,必須有主鍵;
  • 值對象:沒有主鍵,依附于實體而存在,比如用戶實體下住址對象,一般在數(shù)據(jù)庫中已 json 字符串的形式存在;最常見的值對象是枚舉;

(2) 倉庫服務(repository)

資源庫是聚合的倉儲機制,外部世界通過資源庫,而且只能通過資源庫來完成對聚合的訪問。資源庫以聚合的整體管理對象。因此,一個聚合只能有一個資源庫對象,那就是以聚合根命名的資源庫。除此之外的其他對象,都不應該提供資源庫對象。倉儲服務的實現(xiàn)一般有 Spring Data JPA、Mybatis 兩種方式。

如果是用 Spring Data JPA 實現(xiàn),直接使用 JPA 注解 @OneToOne、@OneToMany,配合 fetch 配置,即可一個方法查詢出所有的關聯(lián)實體。

如果是用 Mybatis 實現(xiàn),那么 repository 需要加入多個 mapper 的引用,再手動做拼裝。

這里有一個經(jīng)典的 Hibernate 笛卡爾積問題,答案是在聚合根中,一般不會加在大量的關聯(lián)實體對象。如果確實需要查詢關聯(lián)對象而關聯(lián)對象又比較多怎么辦呢?在 DDD 中有一個 CQRS (Command-Query Responsibility Segregation) 模式,是一種讀寫分離模式,在此場景中需要將查詢操作放到查詢命令中分頁查詢。

當然 CQRS 也是一個很復雜模式,不應照搬他人方案,而是根據(jù)自己的業(yè)務場景選擇適合自己的方案,以下列舉了 CQRS 的幾種應用模式:

image

(3) 工廠服務(factory)

作用是創(chuàng)建聚合,只傳入必要的參數(shù),工廠服務內(nèi)部隱藏復雜的創(chuàng)建邏輯。簡單的聚合可以直接通過 new、靜態(tài)方法等創(chuàng)建,不是必須由 factory 創(chuàng)建。

(4) 領域服務

單個實體對象能處理的邏輯放到實體里,多個實體或有交互的場景放到領域服務里。

領域服務可不可以調用倉儲層或外部接口? 可以,但不能直接和領域服務代碼放一起,領域服務模塊存放 API,實現(xiàn)放基礎層(infrastructure)。

領域服務對象不建議直接以聚合名 + DomainService 命名,而要以操作命令關聯(lián),比如用戶保存服務命名為:UserSaveService, 審核服務:UserAuditSerivce。

2. 應用層

應用層通過應用服務接口來暴露系統(tǒng)的全部功能。在應用服務的實現(xiàn)中,它負責編排和轉發(fā),它將要實現(xiàn)的功能委托給一個或多個領域對象來實現(xiàn),它本身只負責處理業(yè)務用例的執(zhí)行順序以及結果的拼裝。通過這樣一種方式,它隱藏了領域層的復雜性及其內(nèi)部實現(xiàn)機制。

比如下訂單服務的方法:

public void submitOrder(Long orderId) {
Order order = OrderFetchService.fetchById(orderId); //獲取訂單對象
OrderCheckSerivce.check(order); //驗證訂單是否有效
OrderSubmitSerivce.submit(order); //提交訂單
ShoppingCartClearService.clear(order); //移除購物車中已購商品
NotifySerivce.emailNotify(order.getUser()); //發(fā)送郵件通知買家
}

對于復雜的業(yè)務來說,應用層也有幾種模式:

  • 編排服務:最典型比如 Drools;
  • Command、Query 命令模式;
  • 業(yè)務按 Rhase、Step 逐層拆分模式;

image

3. Maven 模塊劃分

基礎層是比較簡單一層,不過這里還有個比較疑惑的問題:按照 DDD 的四層架構圖去劃分 Maven 模塊,基礎層是最上的一層,但是基礎層也要包含基礎組件供其他層使用,這時基礎層應該是放到最下層,直接按照這樣構建 Maven 模塊會造成循環(huán)依賴。

image

相比來說,另一個架構圖更準確一些,不過依然沒有直觀體現(xiàn) Maven 模塊如何劃分。

image

我的最佳實踐是將基礎層拆分兩部分,一部分是基礎的組件 + 倉儲 API,一部分是實現(xiàn),maven 模塊劃分圖如下所示:

image

第三層:運籌帷幄(戰(zhàn)略設計)

經(jīng)過以上的兩層的磨煉,恭喜你把 DDD 戰(zhàn)術都學習完了,應付日常的代碼開發(fā)也夠了,不過作為架構師來說,探索的道路還不能止步于此,接下來會 DDD 戰(zhàn)略部分。戰(zhàn)略部分關注點有 3 個:

  • 統(tǒng)一語言
  • 領域
  • 限界上下文

1. 統(tǒng)一語言

統(tǒng)一語言的重要性可以根據(jù) Jeff Patton 在《用戶故事地圖》中給出的一副漫畫來直觀的描述:

image

統(tǒng)一語言是提煉領域知識的輸出結果,也是進行后續(xù)需求迭代及重構的基礎,統(tǒng)一語言的建立有以下幾個要點:

(1) 統(tǒng)一語言必須以文檔的形式提供出來,并且在整個項目組的各團隊達成共識;

(2) 統(tǒng)一語言必須每個中文名有對應的英文名,并且在整個技術棧保持一致;

(3) 統(tǒng)一語言必須是完整的,包含以下要素:

  • 領域模型的概念與邏輯;
  • 界限上下文(Bounded Context);
  • 系統(tǒng)隱喻;
  • 職責的分層;
  • 模式(patterns)與慣用法。

2. 領域劃分

以事件風暴的形式(Event Storming),列出所有的用戶故事(Use Story),用戶故事可通過 6W 模型來構建,即描寫場景的 Who、What、Why、Where、When 與 hoW 六個要素。然后圈選功能相近的部分,就形成了領域,領域又根據(jù)職能不同劃分為:核心域、支撐域、通用域,

具體的過程有很多參考資料,這里不在細講,最終的輸出是領域劃分圖,以下是一個保險業(yè)務示例:

image

3. 限界上下文

限界上下文包含兩部分:上下文(Context)是業(yè)務目標,限界(Bounded)則是保護和隔離上下文的邊界。

比如上圖中的實現(xiàn)部分即是限界上下文的邊界,虛線部分代表了領域的邊界。限界上下文沒有統(tǒng)一的劃分標準,需要的讀者根據(jù)自己的業(yè)務場景來甄別如何劃分。

一個上下文中包含了相同的領域知識,角色在上下文中完成動作目標;

邊界體現(xiàn)在以下幾方面:

  • 領域邏輯層:確定了領域模型的業(yè)務邊界,維護了模型的完整性與一致性,從而降低系統(tǒng)的業(yè)務復雜度;
  • 團隊合作層:限界上下文一般也是用戶換分團隊的依據(jù);
  • 技術實現(xiàn)層:限界上下文可當成是微服務的劃分邊界;

DDD 的不足

DDD 架構作為一套先進的方法論,在很多場景能發(fā)揮很大價值,但是 DDD 也不是銀彈。高級的架構師把 DDD 架構當成一種工具,結合其他架構經(jīng)驗一起為業(yè)務服務。

DDD 的不足有幾個方面:

  1. 性能:DDD 是基于聚合來組織代碼,對于高性能場景下,加載聚合中大量的無用字段會嚴重影響性能,比如報表場景中,直接寫 SQL 會更簡答直接;
  2. 事務:DDD 中的事務被限定在限界上下文中,跨多個限界上下文的場景需要開發(fā)者額外考慮分布式事務問題;
  3. 難度系數(shù)高,推廣成本大:DDD 項目需要領域專家專家,且需要特別熟悉業(yè)務、建模、OOP,對于管理者來說評估一個人是否真的能勝任也是一件困難的事情;

總結

本文從 MVC 架構開始講述了如何從演進到 DDD 架構,限于篇幅很多 DDD 的知識點沒有講到,希望大家在實踐過程中能靈活運用,盡享 DDD 給業(yè)務帶來的價值。

責任編輯:趙寧寧 來源: 開源博客
相關推薦

2024-04-08 07:05:10

MVCDDD架構

2023-07-04 07:53:53

MVCDDD架構

2022-06-08 16:55:56

服務器Redis架構

2017-10-30 09:09:41

2009-04-30 15:56:50

三層架構MVCMVP

2015-04-07 11:05:15

VMwareOpenStack

2024-08-05 01:29:47

MVC架構模式分離模型

2023-08-28 16:10:00

容器化DockerKubernetes

2022-07-01 08:26:22

區(qū)塊鏈去中心化以太坊

2022-12-08 09:31:07

DDD模型驅動

2024-11-29 08:40:34

2024-06-14 08:19:45

2014-11-06 13:35:03

負載均衡應用交付

2024-04-22 08:10:29

2023-10-11 07:29:21

2022-01-21 08:02:04

開發(fā)

2018-06-19 09:54:22

MySQLHBase存儲

2020-04-03 13:12:09

函數(shù)架構 Serverless

2024-11-19 06:00:00

2023-07-26 15:25:55

供應鏈4.0工業(yè)4.0
點贊
收藏

51CTO技術棧公眾號

国产精品久久久影院| 久久久亚洲福利精品午夜| 亚洲这里只有精品| 超碰在线caoporn| 成人av网在线| 国产激情综合五月久久| 久久嫩草捆绑紧缚| 欧美人与动xxxxz0oz| 精品污污网站免费看| 久久亚洲a v| 国产视频三级在线观看播放| 国产一区欧美二区| 欧美孕妇性xx| 麻豆亚洲av成人无码久久精品| 天堂99x99es久久精品免费| 欧美日韩美少妇| 97超碰青青草| 青青青国内视频在线观看软件| 久久亚洲欧美国产精品乐播| 114国产精品久久免费观看| 亚洲精品中文字幕乱码三区91| 欧美gayvideo| 亚洲欧美中文日韩v在线观看| 欧美激情第一区| 成人爽a毛片免费啪啪| 亚洲欧美日韩久久精品| 日韩av大全| 免费a级片在线观看| 国内外成人在线视频| 国产成人精品久久二区二区91 | 手机看片福利永久| 国内精品第一页| 国产精品精品一区二区三区午夜版| 国产亚洲精品久久久久久打不开| 久久在线视频| 国产一区二区免费| aaaaa级少妇高潮大片免费看| 视频二区欧美毛片免费观看| 欧美日韩三级一区| 青青草精品视频在线观看| 国产拍在线视频| 一区二区三区中文在线观看| 亚洲一区二区三区欧美| 久久精品国产亚洲a∨麻豆| 成年人国产精品| 99在线观看视频| www.久久久久久| 国产美女娇喘av呻吟久久| 国产日韩精品视频| 亚洲手机在线观看| 蜜桃久久久久久| 国产精品一区二区三区成人| 精品一区二三区| 日本中文字幕不卡| 国产精品久久久久久久久久尿| 国产精品黄色大片| 国产日韩一区| 日本精品免费观看| 日韩乱码一区二区三区| 日韩精品五月天| 国产精品欧美日韩一区二区| 中文字幕一二三四| 激情综合网天天干| 亚洲一区二区久久久久久久| 国产视频手机在线观看| 国产一区二区中文字幕| 成人在线看片| 亚洲欧洲视频在线观看| 久久久精品天堂| 色噜噜狠狠一区二区三区| 91短视频版在线观看www免费| 国产精品萝li| 欧美做暖暖视频| sm久久捆绑调教精品一区| 日韩欧美在线网址| 日本中文字幕二区| 免费观看性欧美大片无片| 亚洲成人激情视频| 这里只有久久精品| 97精品国产一区二区三区| 欧美日韩成人在线视频| 国产污污视频在线观看| 日韩二区三区四区| 亚洲伊人一本大道中文字幕| 欧美视频一二区| 久久久精品黄色| 日韩 欧美 自拍| av资源在线| 91成人国产精品| 手机在线播放av| 欧美电影免费网站| 日韩中文理论片| 国产对白videos麻豆高潮| 日韩黄色在线观看| 91沈先生播放一区二区| 深夜福利视频一区| 中文字幕亚洲综合久久菠萝蜜| 大地资源网在线观看免费官网| 成人观看网址| 欧美一区二区三区四区高清| 国产精品一级黄片| 五月天久久久| 欧美在线视频观看免费网站| 国产情侣自拍小视频| 91碰在线视频| 99精品一区二区三区的区别| 亚洲欧美韩国| 日韩午夜精品视频| 中文字幕欧美激情极品| 99精品免费| 96成人在线视频| 国产九色在线| 欧美日韩一区二区精品| 91蝌蚪视频在线| jlzzjlzz亚洲女人| 欧美孕妇性xx| 欧美一区二区黄片| 亚洲日本青草视频在线怡红院| 日本一本中文字幕| 免费一级欧美在线大片| 视频在线观看一区二区| 中文字幕国产在线观看| 成人综合婷婷国产精品久久蜜臀 | 日韩欧美在线国产| 亚洲综合在线一区二区| 成人羞羞网站入口免费| 2018国产精品视频| 亚洲精品久久久久久无码色欲四季| 欧美经典一区二区| 日批视频在线免费看| 操欧美女人视频| 欧美成人在线免费| 国产剧情精品在线| 国产精品九色蝌蚪自拍| 91蝌蚪视频在线观看| 亚洲第一论坛sis| 欧美激情精品久久久| 国产又粗又长又大视频| 国产精品免费看片| www.夜夜爽| 波多野结衣的一区二区三区| 欧美最顶级丰满的aⅴ艳星| 日本美女一级片| 亚洲图片欧美综合| 日韩精品视频一区二区| 激情欧美一区二区三区| 成人看片视频| 欧美aaaaaaa| 亚洲成成品网站| 国产中文字幕免费| 99视频精品在线| 亚洲国产精品久久久久婷蜜芽| 女同另类激情重口| 国产91精品久久久久久| 午夜黄色小视频| 日韩欧美视频一区二区三区| 97超碰在线免费观看| 久久久久久夜| 亚洲欧美日韩在线综合 | 妖精视频在线观看免费| 日韩av电影天堂| 色噜噜一区二区| 天天综合91| 久久91超碰青草是什么| 精品人妻无码一区二区三区蜜桃一 | 欧美三级三级三级| 国产在视频线精品视频| 激情欧美一区二区三区在线观看| 成人在线观看www| 亚洲日本va| 91成人天堂久久成人| 黄色视屏网站在线免费观看| 精品视频1区2区| 青青草手机在线视频| 成人黄色综合网站| 久久久久久久久久久久久久国产| 日韩一区自拍| 国产精品对白刺激久久久| 亚洲风情在线资源| 日韩视频精品在线| 国产 日韩 欧美 综合| 色婷婷久久久综合中文字幕| 国产黄色片在线| 国产91精品在线观看| 国产主播在线看| 先锋资源久久| 欧美成熟毛茸茸复古| 欧美亚洲人成在线| 久久久久久久国产精品| 国产无套粉嫩白浆在线2022年| 欧美日韩国产大片| 日本熟妇成熟毛茸茸| 国产欧美精品日韩区二区麻豆天美| 波多野结衣在线免费观看| 亚洲尤物精选| 热久久最新地址| 国产成人精品免费视| 91青青草免费在线看| 日韩免费va| 国语自产精品视频在线看抢先版图片| 国产女主播在线直播| 欧美r级在线观看| 涩涩视频在线观看| 亚洲国产精品一区二区久久 | 亚洲久草在线视频| 免费毛片视频网站| 成人自拍视频在线| 第四色婷婷基地| 在线综合亚洲| 狠狠精品干练久久久无码中文字幕 | 欧美精品一区二区久久久| 又骚又黄的视频| 欧美性生活大片免费观看网址| 精品人妻伦九区久久aaa片| 久久影院视频免费| 97精品人人妻人人| 国产一区二区三区视频在线播放| chinese少妇国语对白| 激情欧美一区| 高清无码视频直接看| 久久久久美女| 亚洲精品一区二| 国产精品一区二区99| 国产伦精品一区二区三毛| 成人网av.com/| 国产成人一区三区| 少妇视频一区| 国语自产精品视频在线看抢先版图片| 国产网站在线免费观看| 一区二区中文字幕| 国内在线精品| 亚洲精品自拍偷拍| 亚洲色图欧美视频| 亚洲精品在线三区| 亚洲乱色熟女一区二区三区| 69久久夜色精品国产69蝌蚪网| 涩涩视频在线观看| 在线看不卡av| 亚洲国产无线乱码在线观看 | 国产激情久久久久久熟女老人av| 欧美日韩视频第一区| 黄色大全在线观看| 欧美在线观看视频一区二区三区| 亚洲自拍一区在线观看| 欧美性69xxxx肥| 伦av综合一区| 色播五月激情综合网| 一级黄色大片视频| 欧洲一区在线观看| 中文字幕乱码中文字幕| 欧美三级三级三级爽爽爽| 亚洲综合网av| 欧美一区二区免费观在线| 国产乱淫片视频| 91精品国产综合久久精品app| 国产内射老熟女aaaa∵| 日韩一级欧美一级| 亚洲乱熟女一区二区| 日韩成人在线视频| 国产h在线观看| 色偷偷88888欧美精品久久久| 欧美人xxx| 欧美刺激性大交免费视频| 欧美人体视频xxxxx| 97国产真实伦对白精彩视频8| 蜜桃av在线| 国产成人免费91av在线| 四虎国产精品免费久久| 国产99午夜精品一区二区三区| 果冻天美麻豆一区二区国产| 欧美xxxx黑人又粗又长密月| 国内成人自拍| 中国老女人av| 最新成人av网站| 北条麻妃在线一区| 国产中文字幕精品| 亚洲图片综合网| 中文字幕欧美日本乱码一线二线| 日韩高清dvd碟片| 精品免费在线视频| 中文字幕乱码无码人妻系列蜜桃| 日韩一区二区精品在线观看| 日韩黄色影片| 欧美成人sm免费视频| 麻豆国产在线| 成人黄色在线观看| 麻豆国产欧美一区二区三区r| 亚洲va韩国va欧美va精四季| 欧美 日韩 国产 一区| 免费观看日韩毛片| 狠狠色丁香婷婷综合久久片| 给我免费观看片在线电影的| 国产精品视频yy9299一区| 久久免费小视频| 欧美性色综合网| 日日躁夜夜躁白天躁晚上躁91| 中文字幕日韩电影| 韩日毛片在线观看| 成人久久一区二区| 奇米色欧美一区二区三区| 国产欧美久久久久| 蜜臀va亚洲va欧美va天堂| 男女性杂交内射妇女bbwxz| 中文字幕乱码一区二区免费| 国产性xxxx高清| 欧美裸体bbwbbwbbw| 日本一本草久在线中文| 欧美日本高清视频| 欧美一级做a| 欧洲亚洲一区| 99国产精品久久久久久久| 日本亚洲一区二区三区| 亚洲国产精品ⅴa在线观看| 国产精品二区一区二区aⅴ| 7777精品伊人久久久大香线蕉 | 无需播放器的av| av成人老司机| 久久久久亚洲av片无码下载蜜桃| 欧美日韩精品免费观看视频| 男人的天堂在线视频| 久久久久久香蕉网| 精品一区二区三区免费看| 亚洲综合av一区| 免费成人av在线| 三区四区在线观看| 91福利在线播放| 欧美高清成人| 国产不卡视频在线| 亚洲国产欧美日韩在线观看第一区| 好吊色视频988gao在线观看| 久久99精品视频| 日本激情视频一区二区三区| 在线观看av一区| wwwww在线观看免费视频| 热草久综合在线| 婷婷综合福利| av天堂永久资源网| 久久久午夜电影| 亚洲国产av一区二区三区| 亚洲美女精品久久| 欧美极品免费| 亚洲欧美精品| 国产综合久久久久影院| 9999热视频| 日韩一区二区电影网| 手机在线免费看av| 成人免费视频网站| 中文一区二区| 偷拍女澡堂一区二区三区| 欧美性猛交xxxx乱大交3| 国产私人尤物无码不卡| 国产精品色午夜在线观看| 蜜臀av免费一区二区三区| 天天碰免费视频| 国产精品亲子乱子伦xxxx裸| 一级黄色大片免费观看| 久久夜色精品国产欧美乱| 超碰国产精品一区二页| 成人在线视频一区二区三区| 成人免费视频视频| 天天插天天操天天干| 亚洲男人天堂2024| 精品福利在线| 日本福利视频在线观看| 成人avav在线| 一区二区乱子伦在线播放| 久久亚洲电影天堂| 成人性生交大片免费看96| 欧美aⅴ在线观看| 国产精品免费视频一区| 午夜久久久久久久久久| 68精品国产免费久久久久久婷婷 | 日本xxxxx18| 国产成人h网站| 日韩精品一区二区亚洲av| 中文字幕日韩在线观看| 精品国产伦一区二区三区观看说明 | 91资源在线播放| 欧美一卡二卡三卡四卡| 黄色软件视频在线观看| 亚洲啪啪av| 成人精品高清在线| 亚洲高清视频免费观看| 欧美另类精品xxxx孕妇| 午夜欧洲一区| 黑人巨大猛交丰满少妇| 动漫精品一区二区| 大地资源网3页在线观看| 精品欧美国产| 国产乱码精品一区二区三区忘忧草 | 日本一区二区视频在线播放| 欧美成人一区二区三区| 国产超碰精品| 成人一级生活片| 中文字幕精品三区| 天堂成人在线观看| 成人黄色生活片| 日本伊人午夜精品| 国产精品第一页在线观看| 爱福利视频一区|