• <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)研究
    植物工廠
    夫妻午夜视频| 久久久色成人| 有码 亚洲区| 国产黄a三级三级三级人| 亚洲国产欧美人成| 边亲边吃奶的免费视频| 看十八女毛片水多多多| 看免费成人av毛片| 国产精品一区二区三区四区免费观看| 九草在线视频观看| 国产探花极品一区二区| 日日摸夜夜添夜夜添av毛片| 免费人成在线观看视频色| 天堂网av新在线| 欧美97在线视频| av专区在线播放| 免费人成在线观看视频色| 亚洲人成网站在线观看播放| 免费看不卡的av| 欧美日本视频| 亚洲,欧美,日韩| 国产成人精品福利久久| 久久久久国产网址| 亚洲经典国产精华液单| 久久久久久久久久人人人人人人| 99视频精品全部免费 在线| .国产精品久久| 人人妻人人澡人人爽人人夜夜| av天堂中文字幕网| 99视频精品全部免费 在线| 久久久久久久久久人人人人人人| 国产高清不卡午夜福利| 午夜福利在线观看免费完整高清在| 午夜福利在线观看免费完整高清在| 亚洲av日韩在线播放| 纵有疾风起免费观看全集完整版| av网站免费在线观看视频| 精品熟女少妇av免费看| 三级国产精品欧美在线观看| 亚洲一区二区三区欧美精品 | 日韩三级伦理在线观看| 免费电影在线观看免费观看| 国产亚洲91精品色在线| 一级a做视频免费观看| 夫妻午夜视频| 亚洲最大成人av| 久久ye,这里只有精品| 我要看日韩黄色一级片| 亚洲最大成人av| 亚洲精品久久午夜乱码| 好男人视频免费观看在线| 日本欧美国产在线视频| 亚洲成人久久爱视频| 日本黄色片子视频| 九九爱精品视频在线观看| 99久久人妻综合| av在线老鸭窝| 联通29元200g的流量卡| 国产伦精品一区二区三区四那| 国产成人一区二区在线| 内射极品少妇av片p| 看免费成人av毛片| 国产熟女欧美一区二区| 两个人的视频大全免费| 亚洲精品视频女| 亚洲精品日韩av片在线观看| 欧美bdsm另类| 大码成人一级视频| 国产高清国产精品国产三级 | 免费观看无遮挡的男女| 亚洲精品国产av成人精品| 国产人妻一区二区三区在| 在线免费十八禁| 成人二区视频| 蜜桃久久精品国产亚洲av| 亚洲天堂国产精品一区在线| 国产淫语在线视频| 成人一区二区视频在线观看| 小蜜桃在线观看免费完整版高清| 精品少妇黑人巨大在线播放| av福利片在线观看| av在线蜜桃| 在线观看免费高清a一片| 欧美最新免费一区二区三区| 免费观看在线日韩| 少妇人妻一区二区三区视频| 中国三级夫妇交换| 国产精品久久久久久av不卡| 一级毛片我不卡| 国产成人aa在线观看| 国产v大片淫在线免费观看| 国产综合懂色| 免费看不卡的av| 国产毛片在线视频| 国产精品一区二区三区四区免费观看| 国产成人精品久久久久久| 深夜a级毛片| 亚洲av免费在线观看| 男女边吃奶边做爰视频| 久久久久久久精品精品| 毛片女人毛片| 女人被狂操c到高潮| 国产综合懂色| 国产精品99久久久久久久久| 99精国产麻豆久久婷婷| 久久久久久九九精品二区国产| 欧美日韩精品成人综合77777| 国产亚洲91精品色在线| 亚洲色图综合在线观看| 最后的刺客免费高清国语| 狂野欧美白嫩少妇大欣赏| 日本三级黄在线观看| 日韩一区二区视频免费看| 亚洲色图av天堂| 边亲边吃奶的免费视频| 少妇人妻 视频| 亚洲精品色激情综合| 有码 亚洲区| 91久久精品国产一区二区成人| 国产精品嫩草影院av在线观看| 美女高潮的动态| 国产日韩欧美亚洲二区| 高清视频免费观看一区二区| 99视频精品全部免费 在线| 2021天堂中文幕一二区在线观| 18禁裸乳无遮挡动漫免费视频 | 国产高清三级在线| 亚洲性久久影院| av.在线天堂| 亚洲真实伦在线观看| 97超视频在线观看视频| 免费大片18禁| 18禁裸乳无遮挡免费网站照片| 久久精品国产亚洲网站| 日本三级黄在线观看| 久久久欧美国产精品| 国产白丝娇喘喷水9色精品| 久久久久久九九精品二区国产| 欧美日韩精品成人综合77777| 午夜激情久久久久久久| 午夜免费鲁丝| 97热精品久久久久久| 熟女人妻精品中文字幕| 香蕉精品网在线| 天堂网av新在线| 十八禁网站网址无遮挡 | 18禁在线无遮挡免费观看视频| 国产精品久久久久久精品电影小说 | 网址你懂的国产日韩在线| 亚洲av中文av极速乱| 99热国产这里只有精品6| 国产亚洲91精品色在线| 国精品久久久久久国模美| 丝袜脚勾引网站| 午夜精品国产一区二区电影 | 亚洲精品aⅴ在线观看| 日韩欧美精品v在线| 精品午夜福利在线看| 国精品久久久久久国模美| 狂野欧美白嫩少妇大欣赏| 精品人妻一区二区三区麻豆| av在线亚洲专区| 亚洲第一区二区三区不卡| 日韩欧美精品v在线| 亚洲自偷自拍三级| 日日摸夜夜添夜夜爱| 亚洲人与动物交配视频| 亚洲图色成人| 国产成人午夜福利电影在线观看| 看十八女毛片水多多多| 国产极品天堂在线| 国产精品国产三级国产av玫瑰| 69人妻影院| 日韩 亚洲 欧美在线| av黄色大香蕉| 99re6热这里在线精品视频| 99精国产麻豆久久婷婷| 国产午夜精品久久久久久一区二区三区| 一本色道久久久久久精品综合| 18禁在线播放成人免费| 大香蕉97超碰在线| 亚洲人成网站在线播| 人人妻人人看人人澡| 九九在线视频观看精品| 亚洲天堂av无毛| 成人特级av手机在线观看| 亚洲精品国产av成人精品| 国产精品蜜桃在线观看| 赤兔流量卡办理| 人妻夜夜爽99麻豆av| 亚洲精品色激情综合| 亚洲国产精品成人综合色| 下体分泌物呈黄色| 亚洲精品乱码久久久v下载方式| 亚洲人成网站在线观看播放| 91久久精品电影网| 99热网站在线观看| 天天躁夜夜躁狠狠久久av| 26uuu在线亚洲综合色| 国国产精品蜜臀av免费| 成人无遮挡网站| 精品99又大又爽又粗少妇毛片| 另类亚洲欧美激情| 永久网站在线| 菩萨蛮人人尽说江南好唐韦庄| 日本爱情动作片www.在线观看| 好男人在线观看高清免费视频| 亚洲美女搞黄在线观看| 色5月婷婷丁香| 22中文网久久字幕| 亚洲av.av天堂| 亚洲国产精品成人综合色| 久久久久国产精品人妻一区二区| 最近最新中文字幕大全电影3| 成人免费观看视频高清| 免费观看a级毛片全部| 狂野欧美激情性xxxx在线观看| 大香蕉97超碰在线| 亚洲久久久久久中文字幕| 亚洲无线观看免费| 亚洲av欧美aⅴ国产| 国产精品一及| 校园人妻丝袜中文字幕| 亚洲精品日本国产第一区| 极品少妇高潮喷水抽搐| 成年版毛片免费区| 亚洲自拍偷在线| 亚洲最大成人av| 亚洲欧美一区二区三区国产| 精品久久久噜噜| 欧美日韩综合久久久久久| 最新中文字幕久久久久| 一级二级三级毛片免费看| 亚洲人与动物交配视频| 精品视频人人做人人爽| 精品国产露脸久久av麻豆| 在线观看一区二区三区| 69人妻影院| 婷婷色av中文字幕| 国产精品人妻久久久久久| 日韩欧美 国产精品| 亚洲av免费在线观看| 亚洲精品国产av成人精品| 高清在线视频一区二区三区| 国产精品.久久久| 又大又黄又爽视频免费| 91在线精品国自产拍蜜月| 婷婷色av中文字幕| 日韩成人伦理影院| 国产精品国产三级专区第一集| 少妇的逼好多水| 免费观看的影片在线观看| 中文字幕人妻熟人妻熟丝袜美| av天堂中文字幕网| 99久久精品热视频| 91精品伊人久久大香线蕉| 成年av动漫网址| 日韩国内少妇激情av| 成人黄色视频免费在线看| 搡老乐熟女国产| 99热6这里只有精品| 精品久久久久久久人妻蜜臀av| 亚洲经典国产精华液单| 欧美区成人在线视频| 中文字幕久久专区| 免费观看性生交大片5| 亚洲精品aⅴ在线观看| 91精品国产九色| xxx大片免费视频| 69av精品久久久久久| a级毛色黄片| 中国美白少妇内射xxxbb| 午夜日本视频在线| 一级二级三级毛片免费看| 青春草国产在线视频| 亚洲,欧美,日韩| 成人黄色视频免费在线看| 亚洲,一卡二卡三卡| 国产91av在线免费观看| 免费大片黄手机在线观看| 99热国产这里只有精品6| 91久久精品国产一区二区成人| 欧美高清性xxxxhd video| 白带黄色成豆腐渣| 国产成人91sexporn| 春色校园在线视频观看| 国产亚洲av片在线观看秒播厂| 欧美日韩一区二区视频在线观看视频在线 | 国产欧美亚洲国产| 久久久久精品久久久久真实原创| 丝袜美腿在线中文| 中文字幕免费在线视频6| 国产一区二区三区综合在线观看 | 免费少妇av软件| 国产高潮美女av| 国产精品三级大全| 亚洲精品第二区| 免费av观看视频| 国产精品无大码| 免费观看无遮挡的男女| 极品教师在线视频| 伦理电影大哥的女人| 18禁裸乳无遮挡动漫免费视频 | 黄色配什么色好看| 亚洲av男天堂| 国产亚洲av嫩草精品影院| 黄色欧美视频在线观看| 人妻夜夜爽99麻豆av| 男女国产视频网站| 99热全是精品| 免费大片黄手机在线观看| 成人国产麻豆网| 日本一二三区视频观看| 国产成人a区在线观看| 在线看a的网站| 夫妻午夜视频| 国产一级毛片在线| 日韩欧美一区视频在线观看 | 国产精品国产三级专区第一集| 搡老乐熟女国产| 免费看av在线观看网站| 欧美+日韩+精品| 久久久久精品久久久久真实原创| 色播亚洲综合网| 亚洲精品色激情综合| 国产av国产精品国产| 国产日韩欧美亚洲二区| 麻豆久久精品国产亚洲av| 成人特级av手机在线观看| 亚洲精品中文字幕在线视频 | 亚洲美女视频黄频| 一本久久精品| 80岁老熟妇乱子伦牲交| 日韩欧美精品v在线| 亚洲aⅴ乱码一区二区在线播放| 亚洲美女搞黄在线观看| 亚洲欧美一区二区三区黑人 | 香蕉精品网在线| 熟女电影av网| 国产成人免费观看mmmm| 国产 精品1| 在线精品无人区一区二区三 | 国产亚洲91精品色在线| 亚洲欧美日韩另类电影网站 | 别揉我奶头 嗯啊视频| 亚洲欧美一区二区三区黑人 | 美女视频免费永久观看网站| 人体艺术视频欧美日本| 亚洲欧洲日产国产| 日本黄色片子视频| .国产精品久久| 欧美少妇被猛烈插入视频| 婷婷色av中文字幕| 熟女电影av网| 亚洲最大成人av| 内地一区二区视频在线| 国产午夜福利久久久久久| 中国国产av一级| 国产乱人偷精品视频| 国内少妇人妻偷人精品xxx网站| 成人漫画全彩无遮挡| 直男gayav资源| 午夜福利高清视频| 欧美性猛交╳xxx乱大交人| 亚洲精品一区蜜桃| 在线观看av片永久免费下载| 综合色丁香网| 久久精品国产鲁丝片午夜精品| 男女啪啪激烈高潮av片| 91久久精品国产一区二区成人| 在线观看一区二区三区激情| 亚洲激情五月婷婷啪啪| 69av精品久久久久久| 中文字幕久久专区| 国产 一区精品| 五月天丁香电影| 日本熟妇午夜| 亚洲av福利一区| 亚洲成人一二三区av| 精品熟女少妇av免费看| 国产精品精品国产色婷婷| 直男gayav资源| 亚洲精品久久久久久婷婷小说| 王馨瑶露胸无遮挡在线观看| 波多野结衣巨乳人妻| 又大又黄又爽视频免费| 下体分泌物呈黄色| 国产毛片a区久久久久| 午夜激情久久久久久久| 国产一级毛片在线| 色网站视频免费| 狂野欧美激情性xxxx在线观看| 嘟嘟电影网在线观看| 永久网站在线| 欧美zozozo另类| 亚洲丝袜综合中文字幕| 免费播放大片免费观看视频在线观看| 水蜜桃什么品种好| 亚洲成色77777| 久久精品综合一区二区三区| 亚洲图色成人| 2022亚洲国产成人精品| 亚洲综合精品二区| av在线亚洲专区| 18禁裸乳无遮挡动漫免费视频 | 在线观看av片永久免费下载| 国产黄片视频在线免费观看| 国产精品麻豆人妻色哟哟久久| 亚洲欧美日韩无卡精品| 亚洲最大成人手机在线| 内射极品少妇av片p| 亚洲国产欧美在线一区| 女的被弄到高潮叫床怎么办| 91午夜精品亚洲一区二区三区| 精品久久久久久久末码| 人人妻人人看人人澡| 七月丁香在线播放| 久久久久性生活片| 国产老妇女一区| 免费大片18禁| 国产色婷婷99| 日韩伦理黄色片| 免费黄色在线免费观看| 人体艺术视频欧美日本| 超碰av人人做人人爽久久| 国产色爽女视频免费观看| 日本与韩国留学比较| 99久国产av精品国产电影| 国产毛片a区久久久久| 国国产精品蜜臀av免费| 欧美成人午夜免费资源| 自拍偷自拍亚洲精品老妇| 老司机影院成人| 国产欧美亚洲国产| 狂野欧美激情性xxxx在线观看| 亚洲国产精品国产精品| 国产真实伦视频高清在线观看| 午夜福利视频1000在线观看| 欧美日本视频| 五月玫瑰六月丁香| 精品99又大又爽又粗少妇毛片| 久久热精品热| 国产免费一区二区三区四区乱码| 中国美白少妇内射xxxbb| av又黄又爽大尺度在线免费看| 成人亚洲精品av一区二区| 亚洲精品自拍成人| 国产亚洲精品久久久com| 伦理电影大哥的女人| 亚洲av电影在线观看一区二区三区 | 成年av动漫网址| 国产亚洲精品久久久com| 色5月婷婷丁香| 久久久精品94久久精品| 亚洲av成人精品一区久久| 久久久久精品久久久久真实原创| 51国产日韩欧美| 精品国产一区二区三区久久久樱花 | 人人妻人人爽人人添夜夜欢视频 | 如何舔出高潮| 男人舔奶头视频| 亚洲精品影视一区二区三区av| 欧美+日韩+精品| 欧美国产精品一级二级三级 | 嫩草影院精品99| 欧美97在线视频| 我的女老师完整版在线观看| 国产精品一二三区在线看| 成人毛片60女人毛片免费| 久久韩国三级中文字幕| 欧美+日韩+精品| 国产亚洲午夜精品一区二区久久 | 97超视频在线观看视频| 亚洲精品乱码久久久v下载方式| 国产精品成人在线| 国产 精品1| 人妻夜夜爽99麻豆av| 男女无遮挡免费网站观看| 岛国毛片在线播放| 欧美性猛交╳xxx乱大交人| 日本一本二区三区精品| 九九久久精品国产亚洲av麻豆| 91精品国产九色| 欧美亚洲 丝袜 人妻 在线| 99久国产av精品国产电影| 国产有黄有色有爽视频| 亚洲高清免费不卡视频| 国产一区二区三区综合在线观看 | 国产成人精品福利久久| 一级毛片久久久久久久久女| 免费av观看视频| 男女边吃奶边做爰视频| 国产成人a区在线观看| 国产成人91sexporn| 国产91av在线免费观看| 亚洲精品日韩av片在线观看| 欧美丝袜亚洲另类| av在线蜜桃| 国内精品宾馆在线| 在线天堂最新版资源| 一区二区三区免费毛片| 亚洲欧美日韩东京热| 欧美一区二区亚洲| 赤兔流量卡办理| 一级a做视频免费观看| 免费人成在线观看视频色| 最近最新中文字幕免费大全7| 国产爽快片一区二区三区| 97人妻精品一区二区三区麻豆| 成人鲁丝片一二三区免费| 欧美亚洲 丝袜 人妻 在线| 99热6这里只有精品| 日韩av不卡免费在线播放| 色婷婷久久久亚洲欧美| 国产精品久久久久久久电影| 性色avwww在线观看| 夫妻性生交免费视频一级片| 91久久精品国产一区二区成人| 国产成人freesex在线| 亚洲最大成人av| 免费看不卡的av| 嫩草影院精品99| 秋霞伦理黄片| 久久久精品94久久精品| av在线app专区| 美女国产视频在线观看| av黄色大香蕉| 成人国产av品久久久| 天堂中文最新版在线下载 | 日韩视频在线欧美| 国产成年人精品一区二区| 国产在线一区二区三区精| 久久久成人免费电影| 亚洲精品乱码久久久v下载方式| 99热国产这里只有精品6| 晚上一个人看的免费电影| 日本色播在线视频| 国产精品蜜桃在线观看| eeuss影院久久| 中文字幕免费在线视频6| 亚洲欧美日韩无卡精品| 国产精品伦人一区二区| 美女主播在线视频| 欧美极品一区二区三区四区| 日本午夜av视频| 久热久热在线精品观看| 亚洲天堂av无毛| 国产爽快片一区二区三区| 亚洲怡红院男人天堂| 极品少妇高潮喷水抽搐| 亚洲精品色激情综合| 大又大粗又爽又黄少妇毛片口| 国产亚洲午夜精品一区二区久久 | 夫妻午夜视频| 在线播放无遮挡| 一级毛片久久久久久久久女| 麻豆成人av视频| 最近中文字幕高清免费大全6| 国产欧美亚洲国产| 嫩草影院入口| 99视频精品全部免费 在线| 国产在视频线精品| 全区人妻精品视频| 中文乱码字字幕精品一区二区三区| 国产永久视频网站| 97精品久久久久久久久久精品| 两个人的视频大全免费| 久久久久国产精品人妻一区二区| 男人舔奶头视频| 性色av一级| 少妇被粗大猛烈的视频| 午夜精品国产一区二区电影 | 免费观看无遮挡的男女| 国产白丝娇喘喷水9色精品| videossex国产| 欧美xxⅹ黑人| 国产精品99久久99久久久不卡 | 国产精品人妻久久久久久| 最近最新中文字幕免费大全7| 国产精品麻豆人妻色哟哟久久| 在线观看三级黄色| 亚洲av不卡在线观看| 精品国产三级普通话版| 狂野欧美激情性xxxx在线观看| 国产成人一区二区在线| 久久6这里有精品| 成人亚洲欧美一区二区av| 日韩免费高清中文字幕av| 我的老师免费观看完整版| 亚洲人与动物交配视频| 自拍偷自拍亚洲精品老妇| 中文字幕亚洲精品专区| 久久久成人免费电影| 午夜精品一区二区三区免费看| 国产国拍精品亚洲av在线观看| 日韩在线高清观看一区二区三区| 午夜免费鲁丝| 国产精品一区二区在线观看99| 亚洲最大成人手机在线| 久久热精品热| 婷婷色av中文字幕| 精品久久久久久电影网| 欧美一级a爱片免费观看看| 欧美国产精品一级二级三级 | 美女内射精品一级片tv| 国产精品久久久久久久电影| 欧美xxxx性猛交bbbb| 亚洲欧美日韩无卡精品| 精品亚洲乱码少妇综合久久| 777米奇影视久久| 欧美变态另类bdsm刘玥| 久久久久久久精品精品| 熟女电影av网| 国产成人aa在线观看| 国产 一区精品|