• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    C++11實(shí)現(xiàn)可變參數(shù)泛型抽象工廠

    2017-06-30 08:22閔軍羅泓
    軟件工程 2017年5期
    關(guān)鍵詞:異類多態(tài)工廠

    閔軍++羅泓

    摘 要:由于抽象工廠模式有利于達(dá)到高內(nèi)聚低耦合的設(shè)計(jì)目的,因此在軟件設(shè)計(jì)中得到廣泛應(yīng)用。但抽象工廠模式的傳統(tǒng)實(shí)現(xiàn)方式在處理具體產(chǎn)品構(gòu)造函數(shù)參數(shù)不同、異類組合、具體產(chǎn)品數(shù)量繁多的情況時,都顯得很繁瑣、很困難、復(fù)用性很低。針對這一問題,本文以抽象工廠模式為例,應(yīng)用C++11新標(biāo)準(zhǔn)和泛型編程技術(shù),提出一種C++11可變參數(shù)泛型抽象工廠的實(shí)現(xiàn)方式。實(shí)驗(yàn)結(jié)果表明,該方式比傳統(tǒng)實(shí)現(xiàn)方式更為簡潔高效、復(fù)用性更強(qiáng),優(yōu)雅地實(shí)現(xiàn)了對產(chǎn)品類型可變、參數(shù)可變、異類組合的支持。該實(shí)現(xiàn)方式及代碼具有實(shí)用性,可應(yīng)用到軟件項(xiàng)目中。

    關(guān)鍵詞:C++11;泛型;可變參數(shù);抽象工廠;設(shè)計(jì)模式

    中圖分類號:TP311.1 文獻(xiàn)標(biāo)識碼:A

    1 引言(Introduction)

    一種設(shè)計(jì)模式就是解決某一類軟件設(shè)計(jì)問題的可復(fù)用的解決方案。設(shè)計(jì)模式的實(shí)現(xiàn)技術(shù)主要是多態(tài),包括動多態(tài)和靜多態(tài)。起先使用動多態(tài),動多態(tài)是通過繼承和虛函數(shù)實(shí)現(xiàn),在運(yùn)行期間,通過虛函數(shù)調(diào)用不同子類的虛成員函數(shù)來實(shí)現(xiàn)不同的功能。動多態(tài)的綁定是入侵性、插入式的,實(shí)現(xiàn)代價較高。靜多態(tài)是通過模板編程實(shí)現(xiàn)的,通過在編譯期間接口綁定不同的功能代碼來實(shí)現(xiàn)多態(tài)。傳統(tǒng)的靜多態(tài)可以在一定程度上提供非入侵性、非插入式的實(shí)現(xiàn),降低實(shí)現(xiàn)代價。但是,當(dāng)具體產(chǎn)品構(gòu)造函數(shù)參數(shù)不同、需要異類組合、具體產(chǎn)品數(shù)量繁多時,傳統(tǒng)的動多態(tài)和靜多態(tài)實(shí)現(xiàn)起來都很繁瑣、很困難、復(fù)用性很低。

    隨著技術(shù)的發(fā)展,在模板編程的基礎(chǔ)上進(jìn)一步發(fā)展出泛型編程技術(shù),并在C++標(biāo)準(zhǔn)庫(STL)和實(shí)際工程中得到廣泛應(yīng)用[1]。針對設(shè)計(jì)模式傳統(tǒng)實(shí)現(xiàn)方式存在的問題,本文以抽象工廠模式為例,通過C++11新標(biāo)準(zhǔn)泛型編程技術(shù),給出一種可變參數(shù)泛型抽象工廠的實(shí)現(xiàn)方式。

    2 抽象工廠模式(Abstract factory pattern)

    抽象工廠模式屬于創(chuàng)建型模式,其設(shè)計(jì)動機(jī)是:提供一個接口,讓該接口負(fù)責(zé)創(chuàng)建一系列“相關(guān)或者相互依賴的對象”,用戶無需指定工廠和產(chǎn)品的具體的類型、無需了解它們的具體實(shí)現(xiàn),從而繞過常規(guī)的對象創(chuàng)建方式。

    抽象工廠模式結(jié)構(gòu)如圖1所示,抽象工廠將工廠和產(chǎn)品全部抽象化,一個抽象工廠可以生成一組抽象產(chǎn)品,而一個具體工廠則生成一個系列具體產(chǎn)品的特定組合[2]。AbstractFactory定義抽象工廠生成的一組抽象產(chǎn)品的接口,AbstractProductA、AbstractProductB定義某一種抽象產(chǎn)品的接口;具體工廠ConcreteFactory1負(fù)責(zé)創(chuàng)建1系列具體產(chǎn)品類型ProductA1、ProductB1的組合,具體工廠ConcreteFactory2負(fù)責(zé)創(chuàng)建2系列具體產(chǎn)品類型ProductA2、ProductB2的組合,依此類推。

    對象創(chuàng)建時,用戶先創(chuàng)建具體工廠ConcreteFactory1或ConcreteFactory2類的對象,再用ConcreteFactory1創(chuàng)建1系列具體產(chǎn)品類型的組合,或用ConcreteFactory2創(chuàng)建2系列具體產(chǎn)品類型的組合。

    3 泛型編程實(shí)現(xiàn)抽象工廠(Implement abstract

    factory by generic programming)

    抽象工廠傳統(tǒng)實(shí)現(xiàn)方式的主要弱點(diǎn)是類型繁瑣、類型依賴性強(qiáng)、可復(fù)用性弱。一個抽象工廠往往是為某一特定需求而設(shè)計(jì),一般不能在其他場合復(fù)用。還有盡管抽象工廠可以將具體產(chǎn)品的創(chuàng)建委派給特定類型的工廠,但這種委派需要通過純代碼方式實(shí)現(xiàn),沒能充分利用語言所提供的抽象特性。

    在設(shè)計(jì)模式的實(shí)現(xiàn)技術(shù)中,泛型編程能夠提高編程效率、實(shí)現(xiàn)非侵入性實(shí)現(xiàn),大大提高代碼復(fù)用率。在泛型的參與下,許多設(shè)計(jì)可能更為精妙、更加優(yōu)雅、更具擴(kuò)展性[3]。面向?qū)ο缶幊蹋∣OP,Object-Oriented Programming)試圖將數(shù)據(jù)和方法封裝在一起,各種操作都與數(shù)據(jù)類型相關(guān)。泛型編程(GP,Generic Programming)則試圖將數(shù)據(jù)和方法分離開來,將類型參數(shù)化,使得同一種操作可以適用于不同數(shù)據(jù)類型,C++標(biāo)準(zhǔn)庫(STL)就是一種典型應(yīng)用[4]。

    4 C++11實(shí)現(xiàn)可變參數(shù)泛型抽象工廠(Implement

    variable parameter generic abstract factory by

    C++11)

    通過C++11新標(biāo)準(zhǔn)泛型編程技術(shù),能夠?qū)崿F(xiàn)產(chǎn)品類型可變、參數(shù)可變、異類組合的泛型抽象工廠,當(dāng)你需要特定類型抽象工廠時,可隨時復(fù)用而無需再定義專門的抽象工廠實(shí)現(xiàn)。

    4.1 結(jié)構(gòu)圖

    C++11實(shí)現(xiàn)的可變參數(shù)泛型抽象工廠結(jié)構(gòu)如圖2所示,其完整實(shí)現(xiàn)代碼附后。

    具體實(shí)現(xiàn)非常簡潔,只包含兩個模板類:泛型工廠類GenericFactory、內(nèi)嵌類具體產(chǎn)品注冊類Register。這是基于C++11新標(biāo)準(zhǔn)實(shí)現(xiàn)的,必須在支持C++11新標(biāo)準(zhǔn)(2011年ISO發(fā)布)的編譯器中才能正常編譯使用,比如Visual Studio 2013等。

    4.2 泛型工廠類GenericFactory

    該類是該抽象工廠模式的核心,負(fù)責(zé)存儲管理抽象工廠和各種具體工廠數(shù)據(jù)、具體產(chǎn)品的創(chuàng)建等工作[5]。在該類右上角的虛線框中,包含三個模板參數(shù):抽象產(chǎn)品類AbsProduct、具體產(chǎn)品類標(biāo)識KeyConProduct(缺省std::string)、產(chǎn)品類構(gòu)造函數(shù)可變參數(shù)列表0—n項(xiàng)...ArgTypes。最后一個模板參數(shù)便是C++11支持的可變參數(shù)類型,支持可以數(shù)目、可變類型的0—n個參數(shù)[6],下同。不同種類的抽象工廠無需通過不同的公共基類(即傳統(tǒng)抽象工廠中的AbstractFactory)來表達(dá)接口的共性,能夠很優(yōu)雅地實(shí)現(xiàn)異類集合[7]。

    該類通過靜態(tài)變量和靜態(tài)函數(shù)方式實(shí)現(xiàn)簡單的單例模式(singleton),各種構(gòu)造器都是私有的,不允許外部構(gòu)造。外部只能通過調(diào)用靜態(tài)函數(shù)get_Instance獲取唯一的靜態(tài)實(shí)例unique_generic_factory。

    該類只有一個數(shù)據(jù)成員mapConFactory,是std::map類型的私有數(shù)據(jù)成員,用于存放具體產(chǎn)品標(biāo)識KeyConProduct和具體工廠構(gòu)造函數(shù)指針ConFactoryFun組成的鍵值對。外部只能通過調(diào)用該類的公有函數(shù)存取mapConFactory。通過內(nèi)嵌類Register類的實(shí)例化可以將數(shù)據(jù)存入mapConFactory;Unregister函數(shù)可以從mapConFactory中注銷數(shù)據(jù);getConProduct_shared_ptr、getConProduct_unique_ptr函數(shù)可以得到已注冊標(biāo)識為conp的類的一個實(shí)例;getSize函數(shù)可以得到已注冊具體工廠的總數(shù);getKey函數(shù)可以得到已注冊索引為n的類的具體產(chǎn)品標(biāo)識,只不過stl::map默認(rèn)按鍵值類型自動排序(這里默認(rèn)按字母順序),若需要控制排序方式,可以在應(yīng)用程序中增加一個map<索引號,工廠標(biāo)識>變量來實(shí)現(xiàn)。

    4.3 具體產(chǎn)品注冊類Register

    該類是泛型工廠類GenericFactory的內(nèi)嵌類,使用內(nèi)嵌類可明顯簡化設(shè)計(jì)。該類作為抽象工廠的原料和接口,用于創(chuàng)建和注冊具體工廠,將注冊數(shù)據(jù)存入泛型工廠類的GenericFactory::mapConFactory。在該類右上角的虛線框中,只有一個模板參數(shù):具體產(chǎn)品類ConProduct。

    該類很簡單,只包括一個構(gòu)造函數(shù)Register和私有靜態(tài)函數(shù)Create_ConProduct(包含可變參數(shù)列表)。該類與泛型工廠類GenericFactory的關(guān)系也很清晰,只是在創(chuàng)建該類對象時,由其構(gòu)造函數(shù)調(diào)用泛型工廠類的GenericFactory::get_Instance函數(shù),將創(chuàng)建具體產(chǎn)品的Create_ConProduct函數(shù)指針存入泛型工廠類的GenericFactory::mapConFactory。需要注意的是,該類并不實(shí)際創(chuàng)建具體產(chǎn)品對象,具體產(chǎn)品對象的創(chuàng)建,是由用戶通過調(diào)用泛型工廠類的GenericFactory::getConProduct_shared_ptr、GenericFactory::getConProduct_unique_ptr函數(shù)來實(shí)現(xiàn)的。

    這里由于使用了C++11新標(biāo)準(zhǔn)提供的新技術(shù),使得代碼更為精煉、更具擴(kuò)展性??勺儏?shù)類型...ArgTypes使得該接口可以很優(yōu)雅地支持具體產(chǎn)品類構(gòu)造函數(shù)可變參數(shù)列表。智能指針shared_ptr、unique_ptr的使用實(shí)現(xiàn)了自動內(nèi)存管理、無需delete釋放內(nèi)存,share_ptr通過引用計(jì)數(shù)共享所有權(quán),unique_ptr獨(dú)享所有權(quán),可根據(jù)實(shí)際需要選用。使用C++11新特性emplace代替insert向STL容器添加新元素,可以在容器管理的內(nèi)存中直接構(gòu)造新元素,省去構(gòu)造臨時對象、減少內(nèi)存開銷,代碼更為簡潔高效。

    5 實(shí)際使用(Actual use)

    該泛型抽象工廠可以滿足抽象工廠、簡單工廠、可變參數(shù)、異類組合、具體產(chǎn)品數(shù)量繁多等情況的實(shí)現(xiàn)需求。實(shí)際使用很簡單,首先創(chuàng)建各種具體工廠,方法就是創(chuàng)建各種具體產(chǎn)品注冊類Register對象,將各種具體工廠的函數(shù)指針存入泛型工廠類的GenericFactory::mapConFactory。然后,便可以通過泛型工廠類的GenericFactory::get_Instance調(diào)用GenericFactory::getConProduct_shared_ptr、GenericFactory::getConProduct_unique_ptr函數(shù)來創(chuàng)建各種具體產(chǎn)品對象??梢酝ㄟ^函數(shù)封裝實(shí)現(xiàn)抽象工廠的需要,將一系列相關(guān)產(chǎn)品封裝在一個函數(shù)中,實(shí)現(xiàn)一次性創(chuàng)建一系列相關(guān)產(chǎn)品的需要。

    5.1 具體工廠構(gòu)造函數(shù)的參數(shù)可變

    比如,現(xiàn)在已定義Shape基類和Square、Circle兩個子類,便可以通過下面代碼使用該泛型抽象工廠,實(shí)現(xiàn)具體工廠的注冊和具體產(chǎn)品的創(chuàng)建。Square、Circle兩個子類構(gòu)造函數(shù)的參數(shù)可變,參數(shù)個數(shù)、類型都可以各不相同。這里,子類Square的構(gòu)造函數(shù)有三個參數(shù)CPoint、CPoint、unsigned,子類Circle的構(gòu)造函數(shù)有兩個參數(shù)CPoint、int,其結(jié)構(gòu)如圖3所示。

    5.2 具體工廠的異類組合

    比如,跨國公司計(jì)算不同國家員工工資可能用到異類組合。假設(shè)美國員工工資包括獎金B(yǎng)onus、津貼Subsidy、稅收Tax等三個部分,中國員工工資包括獎金B(yǎng)onus、津貼Subsidy、稅收Tax、住房公積金Found等四個部分。使用本文給出的C++11實(shí)現(xiàn)的可變參數(shù)泛型抽象工廠,通過函數(shù)封裝不同抽象工廠的需要,便可輕松實(shí)現(xiàn)這種異類組合,其結(jié)構(gòu)如圖4所示。

    7 優(yōu)點(diǎn)與缺點(diǎn)(Advantages and disadvantages)

    C++11實(shí)現(xiàn)的可變參數(shù)泛型抽象工廠優(yōu)點(diǎn)包括:(1)不同種類的抽象工廠無需通過不同的公共基類(也即傳統(tǒng)抽象工廠中的AbstractFactory)來表達(dá)接口的共性,能夠很優(yōu)雅地實(shí)現(xiàn)異類集合;(2)通過C++11很優(yōu)雅地實(shí)現(xiàn)具體產(chǎn)品類構(gòu)造函數(shù)的可變參數(shù)列表;(3)通過智能指針shared_ptr、unique_ptr實(shí)現(xiàn)自動內(nèi)存管理,無需delete釋放內(nèi)存;(4)泛型編程在編譯期對所有的綁定操作進(jìn)行檢查,具有更好的類型安全性[8];(5)運(yùn)用C++11新特征和內(nèi)嵌類使代碼更為簡潔高效;(6)本文給出的方法及代碼具有實(shí)用性,可應(yīng)用到軟件項(xiàng)目中,其他相關(guān)模式也可參照實(shí)現(xiàn)。其缺點(diǎn)是:(1)使用中編譯報(bào)錯時,理解和查錯較為困難;(2)實(shí)現(xiàn)代碼雖小,但生成的執(zhí)行代碼可能較大。實(shí)際使用時,可根據(jù)其優(yōu)缺點(diǎn)酌情選擇。

    8 結(jié)論(Conclusion)

    綜上所述,抽象工廠模式可以通過傳統(tǒng)的動多態(tài)和靜多態(tài)實(shí)現(xiàn),也可以通過新興的泛型和模板實(shí)現(xiàn)。抽象工廠模式的傳統(tǒng)實(shí)現(xiàn)方式在處理具體產(chǎn)品構(gòu)造函數(shù)參數(shù)不同、異類組合、具體產(chǎn)品數(shù)量繁多的情況時,都顯得很繁瑣、很困難、復(fù)用性很低。針對這一問題,本文以抽象工廠模式為例,應(yīng)用C++11新標(biāo)準(zhǔn)和泛型編程技術(shù),給出了一種C++11可變參數(shù)泛型抽象工廠的實(shí)現(xiàn)方式。該方式比傳統(tǒng)實(shí)現(xiàn)方式更為簡潔高效、復(fù)用性更強(qiáng),優(yōu)雅地實(shí)現(xiàn)了對產(chǎn)品類型可變、參數(shù)可變、異類組合的支持。

    參考文獻(xiàn)(References)

    [1] Bemardi ML,Cimitile M,Lucca GD.Design pattem detection using a DSL-driven graph matching approach[J].Journal of Software Evolution&Process,2014,26(12):1233-1266.

    [2] B Rasool G,Mader P.A customizable approach to design pattems recognition based 011 feature types[J].Arabian Journal for Science&Engineering,2014,39(12):8851-8873.

    [3] 許涵斌,等.一種基于結(jié)構(gòu)查詢的UML設(shè)計(jì)模式識別方法[J].計(jì)算機(jī)科學(xué),2014,41(11):50-55.

    [4] B Matthew H.Austere(美).侯捷,譯.泛型編程與STL[M].北京:中國電力出版社,2003.

    [5] BLarman.C.(美).李洋,等,譯.UML和模式應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2006.

    [6] B Michael Wong(加),IBM XL編譯器中國開發(fā)團(tuán)隊(duì).深入理解C++11:C++11新特性解析與應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2013.

    [7] B Gamma Erich(美),等.李英軍,等,譯.設(shè)計(jì)模式:可復(fù)用面向?qū)ο筌浖幕A(chǔ)[M].北京:機(jī)械工業(yè)出版社,2000.

    [8] B Joshua Kerievsky(美).楊光,劉基誠,譯.重構(gòu)與模式(修訂版)[M].北京:人民郵電出版社,2013.

    作者簡介:

    閔 軍(1966-),男,碩士,研究員.研究領(lǐng)域:C++程序設(shè)計(jì),設(shè)計(jì)模式,計(jì)算機(jī)網(wǎng)絡(luò).

    羅 泓(1970-),女,大專,工程師.研究領(lǐng)域:數(shù)據(jù)分析與處理,電路設(shè)計(jì),信息管理系統(tǒng).

    猜你喜歡
    異類多態(tài)工廠
    分層多態(tài)加權(quán)k/n系統(tǒng)的可用性建模與設(shè)計(jì)優(yōu)化
    參差多態(tài)而功不唐捐
    毛毛蟲中的異類
    魚中的異類
    鸚鵡中的異類
    但愿多些這樣的“異類”
    離散制造MES在照明工廠的實(shí)施與應(yīng)用
    煙堿型乙酰膽堿受體基因多態(tài)與早發(fā)性精神分裂癥的關(guān)聯(lián)研究
    植物工廠
    国产精品一区二区三区四区久久| 国产亚洲av嫩草精品影院| 美女午夜性视频免费| 日本黄大片高清| 久久香蕉精品热| 日本一本二区三区精品| 成人三级做爰电影| 日本黄色视频三级网站网址| 夜夜夜夜夜久久久久| 久久久久久久精品吃奶| 夜夜看夜夜爽夜夜摸| 国产 一区 欧美 日韩| 久99久视频精品免费| av视频在线观看入口| 欧美午夜高清在线| 亚洲中文字幕日韩| 国产成人精品久久二区二区免费| 欧美一级毛片孕妇| 美女 人体艺术 gogo| 叶爱在线成人免费视频播放| 久久中文看片网| 欧美av亚洲av综合av国产av| 亚洲精品在线美女| www国产在线视频色| 成人特级av手机在线观看| 日本五十路高清| 日韩免费av在线播放| 久久伊人香网站| 老司机午夜福利在线观看视频| 在线观看免费午夜福利视频| 中国美女看黄片| 亚洲狠狠婷婷综合久久图片| 成年女人永久免费观看视频| www国产在线视频色| 99国产精品一区二区蜜桃av| 九九热线精品视视频播放| 中出人妻视频一区二区| 久久九九热精品免费| 亚洲欧美日韩无卡精品| 国产高潮美女av| 中文资源天堂在线| 国产日本99.免费观看| 一边摸一边抽搐一进一小说| 日本a在线网址| 视频区欧美日本亚洲| a级毛片a级免费在线| 亚洲精品粉嫩美女一区| 日本免费一区二区三区高清不卡| 国产高潮美女av| 亚洲一区二区三区不卡视频| 亚洲一区高清亚洲精品| 欧美黑人巨大hd| 亚洲av第一区精品v没综合| or卡值多少钱| 丰满人妻一区二区三区视频av | 中文字幕人成人乱码亚洲影| av中文乱码字幕在线| 久久精品aⅴ一区二区三区四区| 村上凉子中文字幕在线| 国产亚洲精品久久久久久毛片| 欧美三级亚洲精品| 1000部很黄的大片| 伊人久久大香线蕉亚洲五| ponron亚洲| 日韩欧美国产一区二区入口| 亚洲美女黄片视频| 黄色女人牲交| 国产不卡一卡二| 天堂动漫精品| 97超视频在线观看视频| 亚洲狠狠婷婷综合久久图片| 岛国在线免费视频观看| 欧美zozozo另类| 免费看十八禁软件| 好男人在线观看高清免费视频| 美女 人体艺术 gogo| 国产v大片淫在线免费观看| 日韩欧美国产在线观看| 欧美最黄视频在线播放免费| 国产熟女xx| 亚洲专区国产一区二区| 亚洲专区中文字幕在线| 一a级毛片在线观看| 一二三四社区在线视频社区8| a在线观看视频网站| 在线观看日韩欧美| 国产激情久久老熟女| 国产激情久久老熟女| 国产成+人综合+亚洲专区| 中文亚洲av片在线观看爽| 亚洲乱码一区二区免费版| 19禁男女啪啪无遮挡网站| 天天躁日日操中文字幕| 美女高潮的动态| 制服人妻中文乱码| 又黄又粗又硬又大视频| 亚洲电影在线观看av| 国产一区二区在线观看日韩 | 真实男女啪啪啪动态图| 麻豆一二三区av精品| 国内精品一区二区在线观看| 18禁观看日本| 最好的美女福利视频网| 哪里可以看免费的av片| 精品一区二区三区视频在线 | 精品国产乱子伦一区二区三区| 搡老熟女国产l中国老女人| 精品国产超薄肉色丝袜足j| 黄色女人牲交| 亚洲精华国产精华精| 老司机午夜福利在线观看视频| 香蕉国产在线看| 18禁黄网站禁片午夜丰满| 狂野欧美激情性xxxx| 精品日产1卡2卡| 精品久久久久久久人妻蜜臀av| 亚洲av五月六月丁香网| 欧美又色又爽又黄视频| 欧美一区二区国产精品久久精品| 精品免费久久久久久久清纯| 无人区码免费观看不卡| 久久久久精品国产欧美久久久| 国产午夜精品论理片| 日韩欧美 国产精品| 巨乳人妻的诱惑在线观看| 深夜精品福利| 免费搜索国产男女视频| 校园春色视频在线观看| 亚洲国产精品合色在线| 欧美日本亚洲视频在线播放| 在线永久观看黄色视频| 男女床上黄色一级片免费看| 男女视频在线观看网站免费| 男人的好看免费观看在线视频| 亚洲av成人精品一区久久| 婷婷精品国产亚洲av| 国产三级在线视频| 国产精品av视频在线免费观看| 国内毛片毛片毛片毛片毛片| 99久久国产精品久久久| 中文字幕久久专区| 亚洲最大成人中文| 国产爱豆传媒在线观看| 亚洲精品色激情综合| 男女视频在线观看网站免费| 日本黄色片子视频| 高潮久久久久久久久久久不卡| 99国产精品一区二区三区| 1000部很黄的大片| 国产伦精品一区二区三区视频9 | 精品一区二区三区视频在线观看免费| 亚洲美女黄片视频| 免费av毛片视频| 18禁美女被吸乳视频| 亚洲色图 男人天堂 中文字幕| 又爽又黄无遮挡网站| 亚洲成av人片在线播放无| 午夜福利高清视频| 长腿黑丝高跟| 国产成人aa在线观看| 国产熟女xx| 色噜噜av男人的天堂激情| 国产精品久久久久久精品电影| 免费看美女性在线毛片视频| a在线观看视频网站| 欧美成人性av电影在线观看| 一二三四社区在线视频社区8| 搡老妇女老女人老熟妇| 国产亚洲精品久久久com| 无人区码免费观看不卡| 天堂网av新在线| 亚洲国产欧美网| 在线观看舔阴道视频| 亚洲av五月六月丁香网| 婷婷精品国产亚洲av| av天堂在线播放| 亚洲国产精品999在线| 热99在线观看视频| 久久久国产精品麻豆| 亚洲av第一区精品v没综合| 国模一区二区三区四区视频 | 国产高清三级在线| 亚洲av中文字字幕乱码综合| 亚洲专区字幕在线| 日本成人三级电影网站| 成人av一区二区三区在线看| 亚洲成人中文字幕在线播放| 国产av不卡久久| 香蕉丝袜av| 俺也久久电影网| 在线看三级毛片| 精品久久久久久成人av| 精品一区二区三区av网在线观看| 波多野结衣巨乳人妻| 又黄又粗又硬又大视频| 亚洲成人免费电影在线观看| 大型黄色视频在线免费观看| 国产精品久久久久久精品电影| 久久久国产精品麻豆| 国产精品久久久久久人妻精品电影| 叶爱在线成人免费视频播放| 变态另类丝袜制服| 久久久久九九精品影院| 成人亚洲精品av一区二区| 国产亚洲精品综合一区在线观看| 精品国产超薄肉色丝袜足j| 色在线成人网| 欧美一区二区国产精品久久精品| 免费搜索国产男女视频| 婷婷丁香在线五月| 久久精品国产综合久久久| 夜夜看夜夜爽夜夜摸| av欧美777| 午夜亚洲福利在线播放| 女警被强在线播放| 国产av麻豆久久久久久久| 国产av在哪里看| 国产黄a三级三级三级人| 国产欧美日韩一区二区精品| xxx96com| 人妻夜夜爽99麻豆av| 亚洲熟妇中文字幕五十中出| 天天躁日日操中文字幕| 免费看日本二区| 成人高潮视频无遮挡免费网站| av国产免费在线观看| 日韩av在线大香蕉| 午夜成年电影在线免费观看| 欧美日韩精品网址| 久久精品aⅴ一区二区三区四区| 日韩av在线大香蕉| 亚洲精品乱码久久久v下载方式 | 麻豆一二三区av精品| 午夜福利高清视频| 长腿黑丝高跟| 在线观看日韩欧美| 成人一区二区视频在线观看| 欧美又色又爽又黄视频| 欧美黑人巨大hd| 黑人欧美特级aaaaaa片| 成人av一区二区三区在线看| 国产精品,欧美在线| 亚洲五月天丁香| 中文字幕最新亚洲高清| 亚洲国产高清在线一区二区三| 老汉色av国产亚洲站长工具| 欧美日韩福利视频一区二区| 欧美最黄视频在线播放免费| 老熟妇仑乱视频hdxx| 国产一区二区激情短视频| bbb黄色大片| 欧美日本视频| 国产精华一区二区三区| 国产亚洲av嫩草精品影院| 黄色丝袜av网址大全| h日本视频在线播放| 色综合亚洲欧美另类图片| 亚洲色图 男人天堂 中文字幕| 免费一级毛片在线播放高清视频| 少妇人妻一区二区三区视频| 中亚洲国语对白在线视频| 91麻豆av在线| 亚洲色图av天堂| 国产精品综合久久久久久久免费| 亚洲精品粉嫩美女一区| 97超级碰碰碰精品色视频在线观看| 国产毛片a区久久久久| 亚洲av成人av| 亚洲成人久久爱视频| 国产1区2区3区精品| 一区二区三区高清视频在线| 免费高清视频大片| 可以在线观看的亚洲视频| 国产精品野战在线观看| 婷婷精品国产亚洲av在线| 免费高清视频大片| 欧美日韩一级在线毛片| 超碰成人久久| 一区福利在线观看| 丝袜人妻中文字幕| 丁香六月欧美| 日韩成人在线观看一区二区三区| a级毛片在线看网站| 啦啦啦韩国在线观看视频| 色哟哟哟哟哟哟| 两个人视频免费观看高清| 成人欧美大片| www日本黄色视频网| 免费观看人在逋| 欧美中文综合在线视频| 婷婷亚洲欧美| 日韩 欧美 亚洲 中文字幕| 国产亚洲av嫩草精品影院| 啦啦啦韩国在线观看视频| 免费看a级黄色片| 日韩欧美免费精品| 午夜福利成人在线免费观看| 欧美日韩精品网址| 久久这里只有精品中国| 香蕉国产在线看| 亚洲中文日韩欧美视频| 亚洲乱码一区二区免费版| 91久久精品国产一区二区成人 | 露出奶头的视频| 久9热在线精品视频| 亚洲中文日韩欧美视频| 精品久久久久久,| 中国美女看黄片| 真人做人爱边吃奶动态| 日韩欧美精品v在线| 亚洲九九香蕉| 欧美中文日本在线观看视频| 国产极品精品免费视频能看的| 国产亚洲欧美在线一区二区| 最新在线观看一区二区三区| 国产一级毛片七仙女欲春2| 亚洲国产精品成人综合色| 波多野结衣巨乳人妻| 久久中文看片网| 老司机福利观看| 日韩欧美国产一区二区入口| 国产成人影院久久av| 少妇熟女aⅴ在线视频| 女生性感内裤真人,穿戴方法视频| 国产久久久一区二区三区| 亚洲乱码一区二区免费版| 一级作爱视频免费观看| 一二三四在线观看免费中文在| 亚洲性夜色夜夜综合| 怎么达到女性高潮| 日本 av在线| 欧美色欧美亚洲另类二区| 动漫黄色视频在线观看| 99国产精品一区二区蜜桃av| 亚洲成av人片在线播放无| 十八禁网站免费在线| 亚洲第一欧美日韩一区二区三区| 亚洲 欧美 日韩 在线 免费| 久久香蕉国产精品| 精品午夜福利视频在线观看一区| 国产乱人伦免费视频| 亚洲精品美女久久av网站| 亚洲avbb在线观看| 91字幕亚洲| 日韩av在线大香蕉| 成人一区二区视频在线观看| 国产精品久久久av美女十八| 嫩草影院入口| 国产午夜精品论理片| 天堂动漫精品| 精品午夜福利视频在线观看一区| 身体一侧抽搐| 综合色av麻豆| 午夜精品久久久久久毛片777| 香蕉国产在线看| 亚洲成av人片在线播放无| 色综合亚洲欧美另类图片| 成年免费大片在线观看| 亚洲成av人片在线播放无| 国产一区在线观看成人免费| 69av精品久久久久久| 伦理电影免费视频| av在线蜜桃| 亚洲熟妇熟女久久| 18禁黄网站禁片午夜丰满| 人人妻人人看人人澡| www.自偷自拍.com| 综合色av麻豆| 国产精品亚洲av一区麻豆| 特级一级黄色大片| 天天躁狠狠躁夜夜躁狠狠躁| 欧美xxxx黑人xx丫x性爽| 国产高清videossex| 国产精品综合久久久久久久免费| 久久久久久久午夜电影| 国产麻豆成人av免费视频| 午夜精品一区二区三区免费看| 日本黄色视频三级网站网址| 露出奶头的视频| 色av中文字幕| 成年女人看的毛片在线观看| 哪里可以看免费的av片| 三级毛片av免费| 婷婷亚洲欧美| 久久中文看片网| 免费看日本二区| 国产精品98久久久久久宅男小说| 亚洲国产欧洲综合997久久,| 麻豆成人午夜福利视频| 成人欧美大片| 日韩 欧美 亚洲 中文字幕| 香蕉国产在线看| 国产成人av激情在线播放| 亚洲av成人不卡在线观看播放网| 久久久久久久久免费视频了| 黄色成人免费大全| 一二三四社区在线视频社区8| 国产成人一区二区三区免费视频网站| 一个人看的www免费观看视频| 丰满人妻一区二区三区视频av | 国产三级在线视频| 最近最新中文字幕大全免费视频| 亚洲国产精品久久男人天堂| 日本成人三级电影网站| 久久这里只有精品中国| 国模一区二区三区四区视频 | 亚洲欧美日韩无卡精品| 母亲3免费完整高清在线观看| 国产在线精品亚洲第一网站| 999久久久国产精品视频| 久久中文字幕人妻熟女| 日本在线视频免费播放| 成人av一区二区三区在线看| 男女视频在线观看网站免费| 免费观看精品视频网站| 欧美在线黄色| 午夜福利在线观看吧| 精品久久久久久成人av| av天堂中文字幕网| 天堂动漫精品| 18禁黄网站禁片午夜丰满| 婷婷精品国产亚洲av| 午夜福利免费观看在线| 婷婷丁香在线五月| 国产99白浆流出| 国产成人精品无人区| 国产精品电影一区二区三区| 男女做爰动态图高潮gif福利片| 老司机午夜十八禁免费视频| 变态另类成人亚洲欧美熟女| a级毛片a级免费在线| xxx96com| 美女大奶头视频| 亚洲成人久久爱视频| 欧美日韩综合久久久久久 | 国产高清激情床上av| 一本一本综合久久| 国产精品国产高清国产av| 老汉色av国产亚洲站长工具| 青草久久国产| 9191精品国产免费久久| 日本精品一区二区三区蜜桃| 欧美中文综合在线视频| 曰老女人黄片| 99国产综合亚洲精品| 人妻丰满熟妇av一区二区三区| 亚洲片人在线观看| bbb黄色大片| 欧美三级亚洲精品| 九九热线精品视视频播放| 99久国产av精品| 午夜影院日韩av| av片东京热男人的天堂| 日本黄大片高清| 桃红色精品国产亚洲av| 日本一二三区视频观看| 国语自产精品视频在线第100页| 国产精华一区二区三区| 亚洲精品在线观看二区| 色av中文字幕| 欧美黑人欧美精品刺激| 中文字幕av在线有码专区| 中文字幕熟女人妻在线| 久久久久国产精品人妻aⅴ院| 性色avwww在线观看| ponron亚洲| 久久久国产成人精品二区| 久久婷婷人人爽人人干人人爱| 亚洲在线观看片| 舔av片在线| 手机成人av网站| 男人的好看免费观看在线视频| 亚洲专区中文字幕在线| 成熟少妇高潮喷水视频| 亚洲熟妇中文字幕五十中出| 亚洲专区字幕在线| 十八禁人妻一区二区| 好男人电影高清在线观看| 中出人妻视频一区二区| 亚洲精品色激情综合| 99久久99久久久精品蜜桃| cao死你这个sao货| 免费在线观看影片大全网站| 又爽又黄无遮挡网站| 国产欧美日韩一区二区三| 99久久精品一区二区三区| 免费大片18禁| 日本成人三级电影网站| 中文字幕精品亚洲无线码一区| 久久久国产欧美日韩av| 最新美女视频免费是黄的| 欧美性猛交黑人性爽| 亚洲最大成人中文| 午夜精品在线福利| 国产三级在线视频| 国产综合懂色| 极品教师在线免费播放| 一二三四在线观看免费中文在| 别揉我奶头~嗯~啊~动态视频| 日本与韩国留学比较| 亚洲精品乱码久久久v下载方式 | 日韩有码中文字幕| 日韩欧美精品v在线| 亚洲男人的天堂狠狠| 国产高清激情床上av| 午夜成年电影在线免费观看| 久久亚洲精品不卡| 国产成人啪精品午夜网站| 久久精品夜夜夜夜夜久久蜜豆| 国产激情久久老熟女| 国产不卡一卡二| 欧美另类亚洲清纯唯美| 搡老岳熟女国产| 成人鲁丝片一二三区免费| 欧美日韩黄片免| 成人无遮挡网站| 黑人操中国人逼视频| 国内揄拍国产精品人妻在线| 国产精品久久久久久人妻精品电影| 一级毛片精品| 日本精品一区二区三区蜜桃| 男女那种视频在线观看| 国产精品免费一区二区三区在线| 久久午夜综合久久蜜桃| 97超视频在线观看视频| 亚洲在线自拍视频| 一二三四社区在线视频社区8| 99热精品在线国产| 成人特级av手机在线观看| 日韩欧美在线乱码| 国产精品女同一区二区软件 | 又紧又爽又黄一区二区| 丝袜人妻中文字幕| 精品国产亚洲在线| 国产亚洲av嫩草精品影院| 两个人的视频大全免费| 男女下面进入的视频免费午夜| 欧美一级毛片孕妇| 久久这里只有精品中国| 九色国产91popny在线| 免费高清视频大片| 久久久久久久久中文| 偷拍熟女少妇极品色| 久久精品亚洲精品国产色婷小说| 久久久久久久精品吃奶| 亚洲 欧美一区二区三区| 国产精品一及| 脱女人内裤的视频| 琪琪午夜伦伦电影理论片6080| 欧美乱码精品一区二区三区| 欧美zozozo另类| 又紧又爽又黄一区二区| 别揉我奶头~嗯~啊~动态视频| 久久精品人妻少妇| 欧美日韩一级在线毛片| 国产精品久久久久久亚洲av鲁大| 精品午夜福利视频在线观看一区| 黄色女人牲交| 人妻丰满熟妇av一区二区三区| 国产黄a三级三级三级人| 中文字幕av在线有码专区| 淫秽高清视频在线观看| 亚洲国产日韩欧美精品在线观看 | 亚洲av第一区精品v没综合| 欧美日韩综合久久久久久 | 中出人妻视频一区二区| 黄色女人牲交| 欧美最黄视频在线播放免费| 嫩草影院精品99| 757午夜福利合集在线观看| 亚洲国产欧美一区二区综合| 亚洲中文字幕一区二区三区有码在线看 | 老鸭窝网址在线观看| 亚洲中文字幕日韩| tocl精华| 久久欧美精品欧美久久欧美| 免费看日本二区| 免费av毛片视频| 精品国产乱子伦一区二区三区| 哪里可以看免费的av片| 小蜜桃在线观看免费完整版高清| 少妇裸体淫交视频免费看高清| 亚洲av五月六月丁香网| 中国美女看黄片| 日本免费一区二区三区高清不卡| 两人在一起打扑克的视频| 啦啦啦免费观看视频1| 久久草成人影院| 香蕉av资源在线| 成人欧美大片| 免费看美女性在线毛片视频| 成年版毛片免费区| 美女cb高潮喷水在线观看 | 国产真实乱freesex| 国产精品影院久久| 校园春色视频在线观看| 久久精品国产清高在天天线| 免费观看精品视频网站| 俄罗斯特黄特色一大片| 亚洲午夜精品一区,二区,三区| 免费看十八禁软件| 国产爱豆传媒在线观看| 美女高潮的动态| 久久亚洲精品不卡| 久久久久久久久免费视频了| 国产主播在线观看一区二区| 99热这里只有是精品50| 亚洲狠狠婷婷综合久久图片| 成年版毛片免费区| 精品欧美国产一区二区三| 婷婷精品国产亚洲av在线| 亚洲欧美精品综合久久99| 国产精品免费一区二区三区在线| 国产精品电影一区二区三区| 制服丝袜大香蕉在线|