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

Nacos竟然是這樣使用代理模式的?

開發(fā) 前端
隨著對Nacos源碼的深入閱讀,感覺越來越有意思了,大量的設(shè)計模式和基礎(chǔ)知識點都在其中被運用。不論你是否閱讀源碼,都值得借鑒一下Nacos的運用案例。

[[413647]]

本文轉(zhuǎn)載自微信公眾號「程序新視界」,作者丑胖俠二師兄 。轉(zhuǎn)載本文請聯(lián)系程序新視界公眾號。

學習不用那么功利,二師兄帶你從更高維度輕松閱讀源碼~

隨著對Nacos源碼的深入閱讀,感覺越來越有意思了,大量的設(shè)計模式和基礎(chǔ)知識點都在其中被運用。不論你是否閱讀源碼,都值得借鑒一下Nacos的運用案例。

今天這篇文章,給大家介紹一下Nacos Client中對代理模式的運用。閱讀這篇文章,你可以不懂Nacos源碼,但能夠?qū)W到代理模式的運用;如果你準備閱讀Nacos源碼,不僅可以學到代理模式的案例,還可以更加深刻的感知到Nacos中的設(shè)計思想。

代理模式簡介

通俗的來講,代理模式就是讓別人(代理)幫忙做你并不關(guān)心的事,作用就相當于日常生活中的中介。

比如,日常生活中,你想買輛車,你可以直接去自己挑選、質(zhì)檢等,但這個過程會耗費你大量的時間和精力。那么,此時你就可以找一個代理,來幫忙實現(xiàn)挑選、質(zhì)檢的事情。

對于軟件設(shè)計來說,代理模式的定義為:代理模式給某一個對象提供一個代理對象,并由代理對象控制對原對象的引用。通俗的來講代理模式就是我們生活中常見的中介。

代理模式的結(jié)構(gòu)

在不使用代理模式時,我們大概是這樣使用一個接口:圖片

客戶端在使用CarService接口時需要創(chuàng)建CarServiceImpl類的實例,然后進行業(yè)務(wù)邏輯處理。

但在某些場景下,一個客戶類不想或者不能直接引用一個委托對象(CarServiceImpl),此時代理類對象可以在客戶類和委托對象之間起到中介的作用,并提供相同的功能。

如果提供相同的功能,那么代理類和委托類就需要實現(xiàn)相同的接口。此時,上圖就演變成了代理模式:

代理模式

在代理模式的圖中,對比普通的直接使用,新增了代理類,并且代理類持有了委托類(真實對象)的引用。代理類本身并不真正實現(xiàn)服務(wù),而是通過調(diào)用委托類的相關(guān)方法,來提供特定的服務(wù),所以要持有真實類的引用。

代理類可以在業(yè)務(wù)功能執(zhí)行的前后加入一些公共的服務(wù),比如負責為委托類預(yù)處理消息、過濾消息、把消息轉(zhuǎn)發(fā)給委托類,以及事后對返回結(jié)果的處理等。

代理模式中的角色:

  • 抽象主題類(Subject):聲明了目標對象和代理對象的共同接口,在任何可以使用目標對象的地方都可以使用代理對象。
  • 具體主題類(RealSubject):也稱為委托角色或者被代理角色。定義了代理對象所代表的目標對象。
  • 代理類(Proxy):也叫委托類、代理類。代理對象內(nèi)部含有目標對象的引用,從而可以在任何時候操作目標對象;代理對象提供一個與目標對象相同的接口,以便可以在任何時候替代目標對象。代理對象通常在客戶端調(diào)用傳遞給目標對象之前或之后,執(zhí)行某個操作,而不是單純地將調(diào)用傳遞給目標對象。

代理模式實現(xiàn)

以上面的結(jié)構(gòu)圖為例,來看看代理模式的代碼實現(xiàn)。

定義抽象主題類(CarService)、具體主題類(CarServiceImpl)、代理類(CarServiceProxy):

  1. // 抽象主題類 
  2. public interface CarService { 
  3.     // 選車 
  4.     Car chooseCar(); 
  5.     // 質(zhì)量檢查 
  6.     boolean qualityCheck(); 
  7.  
  8. // 具體主題類 
  9. public class CarServiceImpl implements CarService { 
  10.     @Override 
  11.     public Car chooseCar() { 
  12.         System.out.println("真實操作:選車"); 
  13.         return new Car(); 
  14.     } 
  15.  
  16.     @Override 
  17.     public boolean qualityCheck() { 
  18.         System.out.println("真實操作:質(zhì)量檢測"); 
  19.         return true
  20.     } 
  21.  
  22. // 代理類 
  23. public class CarServiceProxy implements CarService { 
  24.  
  25.     private CarServiceImpl real
  26.  
  27.     public CarServiceProxy() { 
  28.         real = new CarServiceImpl(); 
  29.     } 
  30.  
  31.     @Override 
  32.     public Car chooseCar() { 
  33.         System.out.println("代理類CarServiceProxy選車:先添加一些日志"); 
  34.         return real.chooseCar(); 
  35.     } 
  36.  
  37.     @Override 
  38.     public boolean qualityCheck() { 
  39.         System.out.println("代理類CarServiceProxy質(zhì)量檢測:先添加一些日志"); 
  40.         return real.qualityCheck(); 
  41.     } 

對應(yīng)的客戶端測試類:

  1. public class Client { 
  2.  
  3.     public static void main(String[] args) { 
  4.  
  5.         CarService carService = new CarServiceProxy(); 
  6.         carService.chooseCar(); 
  7.         carService.qualityCheck(); 
  8.     } 

直接使用代理類,就可以完成預(yù)期的工作。

執(zhí)行程序,打印日志如下:

  • 代理類CarServiceProxy選車:先添加一些日志
  • 真實操作:選車
  • 代理類CarServiceProxy質(zhì)量檢測:先添加一些日志
  • 真實操作:質(zhì)量檢測

可以看出,在真實的操作之前,可以通過代理類添加一些其他的操作。

Nacos的代理模式實踐

上面了解了代理模式的基本知識以及實例,下面就來看看Nacos中是如何實現(xiàn)代理模式的。

Nacos Client與注冊中心進行通信采用了兩種通信協(xié)議:HTTP協(xié)議和gRPC協(xié)議。這兩個協(xié)議實現(xiàn)了共同的抽象主題類NamingClientProxy,具體主題類有NamingHttpClientProxy和NamingGrpcClientProxy,分別對應(yīng)Http協(xié)議和gRPC協(xié)議實現(xiàn)。

此時,Nacos考慮到要支持通過配置來靈活選擇具體的通信協(xié)議,而這個功能呢又沒辦法讓這兩個具體的主題類來實現(xiàn),因此就產(chǎn)生了一個代理類NamingClientProxyDelegate來完成一些預(yù)先的處理和判斷。

整個代理模式的使用類圖如下:

代理模式

通過上圖可以發(fā)現(xiàn),Nacos的代理模式使用與標準的代理模式還有一些區(qū)別。

首先,NamingClientProxyDelegate同時代理了具體主題類,這可能考慮的是方便通信協(xié)議的配置切換。同時,在代理類中還處理了一些事件監(jiān)聽等額外功能。

其次,說話Nacos這塊的命名并不友好,比如抽象主題直接以Proxy為后綴,容易讓人混淆。這就導(dǎo)致與代理模式中的代理類命名沖突,于是將代理類的后綴替換為了Delegate。

上圖中的客戶類便是NacosNamingService,在其中實現(xiàn)了代理類的初始化操作,具體代碼實現(xiàn)如下:

  1. public class NacosNamingService implements NamingService { 
  2.     // ... 
  3.     private NamingClientProxy clientProxy; 
  4.    
  5.     private void init(Properties properties) throws NacosException { 
  6.         // ... 
  7.         this.clientProxy = new NamingClientProxyDelegate(this.namespace, serviceInfoHolder, properties, changeNotifier); 
  8.     } 
  9.      
  10.     @Override 
  11.     public void registerInstance(String serviceName, String groupName, Instance instance) throws NacosException { 
  12.         NamingUtils.checkInstanceIsLegal(instance); 
  13.         clientProxy.registerService(serviceName, groupName, instance); 
  14.     } 
  15.     // ... 
  16. }   

抽象主題類NamingClientProxy為接口,部分代碼如下:

  1. public interface NamingClientProxy extends Closeable { 
  2.      
  3.     void registerService(String serviceName, String groupName, Instance instance) throws NacosException; 
  4.   
  5.     void deregisterService(String serviceName, String groupName, Instance instance) throws NacosException; 
  6.     
  7.    // ... 

代理類NamingClientProxyDelegate部分實現(xiàn)如下:

  1. public class NamingClientProxyDelegate implements NamingClientProxy { 
  2.     // ... 
  3.     private final NamingHttpClientProxy httpClientProxy; 
  4.      
  5.     private final NamingGrpcClientProxy grpcClientProxy; 
  6.      
  7.     public NamingClientProxyDelegate(String namespace, ServiceInfoHolder serviceInfoHolder, Properties properties, 
  8.             InstancesChangeNotifier changeNotifier) throws NacosException { 
  9.          // ...        
  10.         this.httpClientProxy = new NamingHttpClientProxy(namespace, securityProxy, serverListManager, properties, 
  11.                 serviceInfoHolder); 
  12.         this.grpcClientProxy = new NamingGrpcClientProxy(namespace, securityProxy, serverListManager, properties, 
  13.                 serviceInfoHolder); 
  14.     } 
  15.   // ... 

可以看出,代理類實現(xiàn)了NamingClientProxy接口,同時持有了NamingHttpClientProxy和NamingGrpcClientProxy的對象引用,并且對它們進行了初始化操作。

關(guān)于NamingHttpClientProxy和NamingGrpcClientProxy的代碼我們就不再展示,它們首先繼承了AbstractNamingClientProxy抽象類,該抽象類實現(xiàn)NamingClientProxy接口。

從整體上來說,Nacos中對代理模式的運用還是比較靈的,結(jié)合場景一個代理類代理了兩個具體實現(xiàn)類,但同時在命名方面的問題,還有待商榷。

代理模式和裝飾器模式的區(qū)別

在學習使用代理模式時,經(jīng)常會有朋友與裝飾器模式相混淆。這里就簡單聊一下它們直接的區(qū)別。

裝飾器模式中,裝飾者(decorator)和被裝飾者(decoratee)都實現(xiàn)同一個接口。代理模式中,代理類(proxy class)和真實處理的類(real class)都實現(xiàn)同一個接口。而且兩者都對類的方法進行擴展,看起來邊界的確比較模糊。

但還是有一些區(qū)別點的:

  • 裝飾器模式強調(diào)的是增強自身,比如增加之后可提供更多的屬性和方法;代理模式強調(diào)要讓別人幫你去做一些本身與你業(yè)務(wù)沒有太多關(guān)系的職責(記錄日志、設(shè)置緩存)。代理模式是為了實現(xiàn)對象的控制,因為被代理的對象往往難以直接獲得或者是其內(nèi)部不想暴露出來。
  • 裝飾模式是以對客戶端透明的方式擴展對象的功能,是繼承方案的一個替代方案;代理模式則是給一個對象提供一個代理對象,并由代理對象來控制對原有對象的引用;
  • 裝飾模式是為裝飾的對象增強功能;而代理模式對代理的對象施加控制,但不對對象本身的功能進行增強;

小結(jié)

 

代理模式在日常業(yè)務(wù)代碼中還是比較少見的,本文我們重點介紹了靜態(tài)代理模式及在Nacos中的運用。關(guān)于動態(tài)代理,在Spring的框架中可以看到很多實例,有機會我們再進行講解。而Nacos中對代理模式的運用算是比較靈活,同時也并不是那么完美。這或許也提供了我們對代理模式認知的另外一個視角。

 

責任編輯:武曉燕 來源: 程序新視界
相關(guān)推薦

2020-09-29 06:45:49

JDK

2020-12-15 08:05:40

路由器服務(wù)器網(wǎng)絡(luò)層

2021-08-28 10:15:26

項目結(jié)構(gòu)Flask

2019-12-24 11:00:51

NVMeSSDSATA

2018-05-02 09:38:02

程序員代碼互聯(lián)網(wǎng)

2019-08-19 09:21:36

程序員Bug代碼

2018-06-23 13:49:56

蘋果谷歌手機

2015-06-18 11:04:58

2024-08-05 01:28:26

2024-09-27 11:38:49

2021-10-18 13:42:52

加密貨幣金融工具

2018-07-06 00:09:47

2023-03-13 08:09:03

Protobuffeature分割

2016-03-04 14:14:02

電話免費越洋

2022-11-15 07:35:50

Spring事件觀察者模式

2020-10-20 17:18:00

戴爾

2022-07-07 19:44:22

Python 3.1

2022-01-16 07:02:07

物聯(lián)網(wǎng)平臺物聯(lián)網(wǎng)IOT

2020-08-19 09:23:10

傳輸網(wǎng)絡(luò)WDM網(wǎng)絡(luò)技術(shù)
點贊
收藏

51CTO技術(shù)棧公眾號

婷婷亚洲最大| 成人免费图片免费观看| 日韩国产高清在线| 日韩在线播放视频| 久久久久久久久久久影视| 国产cdts系列另类在线观看| 国产精品911| 97激碰免费视频| 欧美黄色高清视频| 深夜福利一区二区三区| 色综合久久天天| 一区二区三区|亚洲午夜| 国产ts变态重口人妖hd| 亚洲永久免费| 精品国产一区二区三区久久久| 久久久无码人妻精品无码| av日韩亚洲| 亚洲乱码国产乱码精品精可以看| 久久国产精品久久精品国产| 五月天中文字幕| 极品少妇一区二区三区| 日韩视频―中文字幕| www.啪啪.com| 久久精品嫩草影院| 欧美午夜www高清视频| 一区二区三区四区免费视频| 亚洲av成人精品一区二区三区在线播放 | 欧美 日韩 国产一区二区在线视频 | 夜夜躁很很躁日日躁麻豆| 亚洲国产精品一区制服丝袜| www.精品av.com| 欧美bbbbb性bbbbb视频| 欧洲大片精品免费永久看nba| 色94色欧美sute亚洲线路二| 免费人成自慰网站| 黄色一级大片在线免费看产| 久久久国际精品| 国产在线视频欧美一区二区三区| 91丨porny丨在线中文 | 欧美专区在线视频| 久久99久久久| 小处雏高清一区二区三区| 亚洲欧美一区二区三区四区| 国产在线不卡av| 亚洲精品午夜| 欧美一区二区在线不卡| 在线观看国产一级片| 国产超碰精品| 黑人巨大精品欧美一区二区三区| 亚洲第一综合网站| 国产黄色小视频在线| 中文成人综合网| 亚洲欧洲精品一区二区三区波多野1战4| 人成在线免费视频| 91片黄在线观看| 久久精品丝袜高跟鞋| 日本精品久久久久| 成人黄色一级视频| 国产精品一区二区欧美| 亚洲第一第二区| 国产成人午夜电影网| 3d精品h动漫啪啪一区二区| 国产精品无码白浆高潮| 精品午夜久久福利影院| 国产视频999| 国产美女免费视频| 国产乱码精品一区二区三| 91麻豆国产精品| 成人片在线免费看| 国自产拍偷拍精品啪啪一区二区| 永久免费未满蜜桃| 玖玖玖电影综合影院| 91精品国产91久久久久久一区二区| 亚洲人成网站在线播放2019| 欧美成人精品一区二区免费看片 | 中日韩男男gay无套| 久久久亚洲国产| 亚洲天堂日韩av| 性伦欧美刺激片在线观看| 国产91av在线| 艳妇乳肉豪妇荡乳av无码福利| 日韩精品91亚洲二区在线观看 | 中文字幕一区日韩电影| 国产又粗又长又硬| 亚州av乱码久久精品蜜桃| 久久香蕉国产线看观看av| 免费在线观看国产精品| 一区二区福利| 国产精品美女视频网站| 国产麻豆一精品一男同| 成人免费三级在线| 日本高清一区| а√天堂资源地址在线下载| 亚洲福利视频一区二区| 久久久久免费精品| 香蕉久久久久久| 亚洲成**性毛茸茸| 无码人妻丰满熟妇啪啪欧美| 久久久久美女| 97视频在线看| 一级黄色片免费| 成人激情午夜影院| 亚洲永久激情精品| а_天堂中文在线| 欧美在线短视频| 9191在线视频| 精品日产免费二区日产免费二区| 九九精品在线播放| 潘金莲一级淫片aaaaaa播放| 国产精品一区二区黑丝| 欧美国产综合视频| 久久不射影院| 欧美日本韩国一区二区三区视频| 视频免费在线观看| 国产精品97| 日本国产高清不卡| 亚洲大尺度视频| 中文字幕亚洲电影| 国产精品50p| 欧美视频二区欧美影视| 亚洲色图日韩av| 国产一级特黄毛片| 老司机午夜精品| 免费国产一区二区| 在线三级中文| 欧美女孩性生活视频| 亚洲色图14p| 欧美日韩1区| 成人国产精品一区| 国产午夜在线视频| 黑人巨大精品欧美一区免费视频 | 懂色av中文字幕一区二区三区| 日韩欧美精品在线不卡 | 日本一区二区在线播放| 亚洲男人第一天堂| 国产精品福利影院| 青青青在线视频免费观看| 久久精品福利| 久久久久久网址| 成人福利小视频| 国产精品久久国产精麻豆99网站| 麻豆av免费在线| 日韩精品一区二区三区中文字幕 | 色哟哟精品观看| 一区二区高清| 国产一区二区不卡视频| 日韩伦理电影网站| 日韩午夜激情电影| 欧美三级日本三级| 九九国产精品视频| 综合一区中文字幕| 在线免费观看亚洲| 久久精品国产欧美激情| 一区二区精品视频在线观看| 国产精品女上位| 成人在线观看黄| 精品久久久久中文字幕小说 | 亚洲人成电影网站| 欧美三级一区二区三区| 91污片在线观看| 北条麻妃69av| 日韩在线麻豆| 国产91色在线免费| 二区三区在线播放| 欧美色大人视频| 九九精品视频免费| 国产美女视频一区| 丁香婷婷综合激情| 噜噜噜天天躁狠狠躁夜夜精品| 97在线精品国自产拍中文| 香蕉国产在线视频| 色狠狠色狠狠综合| 中文乱码字幕高清一区二区| 久久99久久99小草精品免视看| 黄频视频在线观看| 精品国产亚洲日本| 午夜精品一区二区三区av| 香港一级纯黄大片| 欧美三级日韩在线| 成人一级黄色大片| 国产99久久久国产精品免费看| www精品久久| 视频一区中文| 91免费福利视频| 草美女在线观看| 亚洲网站在线观看| 国产精品一级视频| 午夜精品一区二区三区电影天堂 | 国产精品一区二区中文字幕| 欧美一级黄色网| avtt亚洲| 精品黑人一区二区三区久久| 亚洲国模精品一区| 天堂一区二区三区| 福利精品在线| 麻豆国产精品va在线观看不卡 | 午夜精品福利视频网站| 亚洲狠狠婷婷综合久久久久图片| 日韩精品福利网| 免费看日b视频| 美女亚洲一区| 亚洲一区二区三区久久| 成年人黄色大片在线| 一本大道亚洲视频| 国产高清免费观看| 色综合久久久久| 日本a级片视频| 91在线看国产| 一级做a免费视频| 一本色道久久精品| 中文字幕剧情在线观看一区| 欧美人妖在线观看| 95av在线视频| 素人一区二区三区| 91禁国产网站| 91小视频xxxx网站在线| 亚洲视频在线观看视频| 成人久久久精品国产乱码一区二区 | 人妻aⅴ无码一区二区三区| 国产一区二区在线看| 国产免费毛卡片| 欧美日韩在线大尺度| 亚洲成人自拍| 欧美成人专区| 精品日韩av一区二区| 欧美 日韩 激情| 国产精品精品| 欧美高清视频一区二区三区在线观看| 国产精品一区二区三区四区在线观看| 欧洲精品在线视频| а√天堂8资源在线| 美日韩精品免费视频| 亚洲欧洲日韩精品| 未满十八勿进黄网站一区不卡| 欧美专区在线视频| www在线观看黄色| 欧美黑人极品猛少妇色xxxxx| 在线免费观看黄色av| 国产视频丨精品|在线观看| 超碰在线播放97| 欧美一区日韩一区| 国产精品久久久久久69| 精品视频免费看| 国产精品无码一区| 色综合久久久久久久久| 欧美特黄aaaaaa| 精品久久久久久久久久国产 | 99视频精品视频高清免费| 欧洲久久久久久| 亚洲区小说区| 免费在线观看91| 日韩电影不卡一区| 久久久久久九九九九| 欧美电影免费网站| 玛丽玛丽电影原版免费观看1977 | 视频一区免费在线观看| 久久久久久久中文| 亚洲欧洲日本mm| 一女被多男玩喷潮视频| aa亚洲婷婷| 国产亚洲天堂网| 美女精品在线| 男人天堂成人在线| 日韩高清国产一区在线| 国产一区二区在线免费播放| 日韩国产在线一| 亚洲五月天综合| 免费在线视频一区| 女人高潮一级片| 国产美女av一区二区三区| 中文字幕av一区二区三区人妻少妇| 精品一区二区三区视频在线观看 | 成人av影院在线| xxxx黄色片| 国产视频一区二区三区在线观看| 阿v天堂2014| 国产精品成人午夜| 青娱乐国产在线视频| 偷拍一区二区三区四区| 丰满少妇xoxoxo视频| 在线看日本不卡| 国产精品热久久| 精品国产一区二区三区忘忧草| 四虎在线视频免费观看| 亚洲欧美国产日韩中文字幕| 91在线高清| 欧美激情亚洲综合一区| 韩日精品一区二区| 成人信息集中地欧美| 成人香蕉社区| 日韩精品一区二区三区外面| 91精品婷婷色在线观看| 精品少妇人欧美激情在线观看| 午夜亚洲性色视频| 制服丝袜中文字幕第一页| 成人久久18免费网站麻豆| 国产真实乱人偷精品人妻| 亚洲欧洲另类国产综合| 久久夜色精品亚洲| 欧美日韩精品欧美日韩精品一| 午夜精品久久久久久久96蜜桃| 日韩黄在线观看| 成人免费网址| 国产成人极品视频| 日韩中文字幕| 日本一区二区三区四区高清视频| 亚洲成人99| 免费看a级黄色片| 国产91在线看| 人妻无码一区二区三区免费| 亚洲成人综合视频| 国产又粗又大又爽视频| 精品视频在线播放免| 97超碰资源站在线观看| 国产精品久久久精品| 国产精品22p| av电影一区二区三区| 老牛国产精品一区的观看方式| 波多野结衣三级视频| 国产精品视频看| 免费污污视频在线观看| 亚洲大胆美女视频| av片在线观看永久免费| 国产精品日韩在线| 久久97精品| 狠狠精品干练久久久无码中文字幕 | 日韩中文字幕av| 色吧亚洲日本| 成人av男人的天堂| 99久久精品费精品国产风间由美 | 美女视频黄免费| 欧美酷刑日本凌虐凌虐| 国产人成在线观看| 欧美亚洲成人网| 国产精品白丝一区二区三区| 好吊色视频988gao在线观看| 久久精品国产第一区二区三区| 受虐m奴xxx在线观看| 天天色综合天天| 无码精品人妻一区二区| 久久久久久高潮国产精品视| 国产一区 二区| 天天干天天色天天爽| 精品一区二区综合| 欧美视频一区二区在线| 欧美日韩精品一区二区三区四区| 国产原创av在线| 国产精品第七影院| 国产日产一区| 超碰av在线免费观看| 国产亚洲精久久久久久| 免费看日批视频| 亚洲人成电影在线| 亚洲人免费短视频| 神马影院一区二区三区| 肉色丝袜一区二区| 超薄肉色丝袜一二三| 欧美日韩中文另类| 麻豆传媒在线免费看| 亚洲va电影大全| 欧美喷水视频| 欧美熟妇精品一区二区蜜桃视频| 性久久久久久久久| 天堂资源最新在线| 国产成人avxxxxx在线看| 日韩精品一卡| 免费黄频在线观看| 亚洲午夜激情网站| 亚州av在线播放| 国产精品 欧美在线| 日韩88av| 色哟哟免费视频| 偷窥少妇高潮呻吟av久久免费| 亚洲欧美丝袜中文综合| 国产成+人+综合+亚洲欧美丁香花| 成人精品电影| 视频区 图片区 小说区| 亚洲va国产天堂va久久en| 欧美女同网站| 国产精品自产拍在线观看中文 | 精品国产一区二区三区久久狼5月 精品国产一区二区三区久久久狼 精品国产一区二区三区久久久 | 欧美日韩国产另类不卡| 在线视频观看国产| 久久99蜜桃综合影院免费观看| 天使萌一区二区三区免费观看| 男女全黄做爰文章| 欧美成人一区二区| 欧美大片免费| 艳母动漫在线免费观看| thepron国产精品| 97人妻精品视频一区| 久久6免费高清热精品| 亚洲精品国模| 欧美视频国产视频| 午夜精品久久久久久久久久久| 成人精品一区| 国产高清精品一区二区三区| 日韩精品久久理论片| 国产在线欧美在线| 中文字幕亚洲综合久久|