色夜影院Iav高清一区I久草在线观看资源I00av视频I国产在线观看avI九九九在线I国产香蕉97碰碰久久人人I成人在线观看免费视频

行業(yè)動(dòng)態(tài)

當(dāng)前位置:首頁(yè)>>新聞中心>>行業(yè)動(dòng)態(tài) 發(fā)布時(shí)間:2017-08-17 04:59:19

工廠(chǎng)設(shè)計(jì)模式在多串口通信中的應(yīng)用

時(shí)間:2017-08-17 04:59:19 來(lái)源:本站 點(diǎn)擊數(shù):808

設(shè)計(jì)模式/軟件設(shè)計(jì)模式Oesign pattern)是軟件設(shè)計(jì)過(guò)程中的經(jīng)驗(yàn)總結(jié)。可 以讓程序代碼易重用、易理解、更穩(wěn)定。目前總結(jié)出來(lái)的模式有23種之多,文中主要涉及工廠(chǎng)模式在多串口通信軟件開(kāi)發(fā)中的應(yīng)用。作者針對(duì)衡器稱(chēng)重系統(tǒng)中常用的儀表、一機(jī)一

秤、一機(jī)多秤等應(yīng)用場(chǎng)景,提出相應(yīng)的解決方案。

1.引言

在軟件開(kāi)發(fā)過(guò)程中,常常會(huì)碰到相似問(wèn)題, 做重復(fù)的工作。如何提高效率,保證代碼的可靠 性,可重用性昵?前人總結(jié)出了很多軟件開(kāi)發(fā)模 式,來(lái)解決相應(yīng)的問(wèn)題。文中將針對(duì)“軟件設(shè)計(jì) 模式”工廠(chǎng)模式”在多串口通信軟件開(kāi)發(fā)中 的應(yīng)用展開(kāi)描述。

2.設(shè)計(jì)模式簡(jiǎn)介

設(shè)計(jì)模式(Oesign patten)是一套被反復(fù)使用 的、多數(shù)人知曉的、經(jīng)過(guò)分類(lèi)編目的、代碼設(shè)計(jì) 經(jīng)驗(yàn)的總結(jié)。使用設(shè)計(jì)模式是為了重用代碼、讓 代碼更容易被他人理解、保證代碼可靠性。最早 提出設(shè)計(jì)模式思想是在1994年,由Erich Gamma 等人,在其所著的《面象對(duì)象的可復(fù)用元素》一 書(shū)中提出的??偨Y(jié)出三大類(lèi)別創(chuàng)建型模式、結(jié) 構(gòu)型模式、行為型模式,六大原則(開(kāi)閉原則、 里氏原則、依賴(lài)倒置原則、接口隔離原則、迪米 特法則、合成復(fù)用原則,23種設(shè)計(jì)模式俱體內(nèi) 容請(qǐng)參看相關(guān)書(shū)籍。本文將重點(diǎn)介紹:工廠(chǎng)設(shè)計(jì) 模式。它屬于創(chuàng)建型模式即在創(chuàng)建對(duì)象的過(guò) 程中,隱藏創(chuàng)建邏輯,這使得程序在創(chuàng)建給定實(shí) 例對(duì)象時(shí),可以提供靈活的判斷。

3.衡器軟件中的問(wèn)題

作者長(zhǎng)期從事衡器稱(chēng)重軟件的設(shè)計(jì)。在長(zhǎng)期 的工作經(jīng)歷中,參與了很多項(xiàng)目,其中多數(shù)都會(huì) 用到串口通信。會(huì)遇到以下幾種典型的應(yīng)用問(wèn)題:

1)在使用衡器儀表時(shí),串口是常見(jiàn)的對(duì)外通 信方式。稱(chēng)重儀表廠(chǎng)家多,型號(hào)不一,通信格式 各不相同。能不能使用統(tǒng)一的開(kāi)發(fā)模式,進(jìn)行管 理,減少重復(fù)性的工作昵?

2)地磅稱(chēng)重管理中,有一機(jī)一秤也有 機(jī)多秤的模式。在多秤同時(shí)使用時(shí),儀表型 號(hào)可能相同,也可能不同,有沒(méi)有簡(jiǎn)潔、高效的 擴(kuò)展軟件代碼的方法昵?

4.工廠(chǎng)設(shè)計(jì)模式

針對(duì)上述問(wèn)題,作者通過(guò)實(shí)踐和總結(jié),覺(jué)得軟件開(kāi)發(fā)模式的中的工廠(chǎng)模式”比較適合解決 這類(lèi)問(wèn)題。

什么是工廠(chǎng)模式?顧名思義,就是客戶(hù)提 訂單,交給工廠(chǎng)生產(chǎn),最后得到“產(chǎn) 品”。工廠(chǎng)模式模擬了這個(gè)過(guò)程。“工廠(chǎng)模 式”分為三種子類(lèi)別:簡(jiǎn)單工廠(chǎng)、工廠(chǎng)方法、抽 象工廠(chǎng)。這三種方法,本質(zhì)相同,但各有其應(yīng)用 場(chǎng)景,簡(jiǎn)單來(lái)說(shuō),如下:

1)簡(jiǎn)單工廠(chǎng):一個(gè)工廠(chǎng)生產(chǎn)多種不同產(chǎn)品。

2)工廠(chǎng)方法:多個(gè)工廠(chǎng),每個(gè)工廠(chǎng)生產(chǎn)一種 產(chǎn)品。是對(duì)簡(jiǎn)單工廠(chǎng)的改進(jìn),因?yàn)?/span>“簡(jiǎn)單工 廠(chǎng)”不符合開(kāi)閉原則”。

3)抽象工廠(chǎng):多個(gè)工廠(chǎng),每個(gè)工廠(chǎng)生產(chǎn)一種 或多種產(chǎn)品??梢愿鶕?jù)訂單需求,生產(chǎn)“產(chǎn) 品”訂單中可能存在多種不同的產(chǎn)品”需 求,可以交給不同的“工廠(chǎng)來(lái)生產(chǎn)”。

這三種模式都能解決衡器軟件中的儀表串口 通信問(wèn)題。文中重點(diǎn)講解簡(jiǎn)單工廠(chǎng)“抽象 工廠(chǎng)”這兩種模式,這兩種模式比較容易理解, 其它的模式也可依此類(lèi)推。

5.面向?qū)ο蟮膶?shí)現(xiàn)過(guò)程

設(shè)計(jì)模式的運(yùn)用與編程語(yǔ)言無(wú)關(guān)。作者以常 用的C++語(yǔ)言為例,說(shuō)明面向?qū)ο蟮姆庋b過(guò)程。

首先,作者封裝了一組串口通信類(lèi),將串口 通信過(guò)程中,常用的的方法,封裝在一個(gè)類(lèi)族里, 為后期模式設(shè)計(jì)提供基礎(chǔ)如圖1所示。

云網(wǎng)客1.jpg

串口類(lèi)庫(kù)可根據(jù)需要不斷擴(kuò)展,封裝好后, 與下文的設(shè)計(jì)模式類(lèi)隔離,減少代碼耦合。這個(gè) 類(lèi)族中的底層子類(lèi),相當(dāng)于工廠(chǎng)”里生產(chǎn)的產(chǎn)品

1)簡(jiǎn)單工廠(chǎng)的實(shí)現(xiàn)過(guò)程

簡(jiǎn)單工廠(chǎng)模式如圖2所示,將產(chǎn)品”實(shí)例的創(chuàng)建放到工廠(chǎng)方法中完成,從而為產(chǎn)品的選擇提供靈活性。這里的產(chǎn)品就是儀表型號(hào),工廠(chǎng)就是 TMeterFactory 類(lèi),其方法 CreateMeter 可以創(chuàng)建各種儀表的實(shí)例。

云網(wǎng)客2.jpg

主要部分的偽代碼如下:

#include

classTM eterfactory//儀表工廠(chǎng)類(lèi)

{

Private:

m apm _m eter;// 管理 所有的儀表對(duì)象 public

TM eterfactory0;

ICommO bject*C reateM eter (char*strM eter- Name);//創(chuàng)建儀表實(shí)例方法

~TM eterFactoryO;//銷(xiāo)毀儀表類(lèi)實(shí)例

}

ICommObject*TM eterFactory::CreateM eter (char*strM eterN am e)

{ //檢查儀表實(shí)例是否存在 ifm _m eter.end )!=m _m eter.find (strM eterN am e)) return m_m eter.find strM eterN am e)->second; //創(chuàng)建新的儀表實(shí)例 ICommO bject*pM eter=N ULL; if(!strcm p "X K 3190A 9",strM eterN am e)) pM eter=new TXK3190A9 0; else return NULL;

...//繼續(xù)添加代碼,創(chuàng)建其他儀表型號(hào) m_meter.insert std ^pa ir rM eterN am e,pM eter)); return pMeter;

}

客戶(hù)端調(diào)用代碼如下 charweight[10]={0};

TMeterFactory*pFactory=new TMeterFactory;

 

ICommObject*pMeter=pFactory->CreateMe-

 

ter(“XK3190A9”);

 

strcpy(weight,pMeter->read());// 讀取重量,中間省略 open,write,close 等方法代碼

 

上述過(guò)程中,可以看到:在使用簡(jiǎn)單工廠(chǎng)模式 (或其它模式) 時(shí),并不一定能減少代碼量,但是易于后期擴(kuò)展和理解。從客戶(hù)端的調(diào)用代碼可以看出:模式提供了統(tǒng)一的接口,調(diào)用者只要給出儀表型號(hào),就能得到相應(yīng)的類(lèi)實(shí)例。實(shí)例創(chuàng)建過(guò)程封裝到其他代碼塊中,只要那部分代碼沒(méi)有問(wèn)題,調(diào)用者就能得到正確的結(jié)果,相當(dāng)于黑盒操作。這種方式,適合多人分工合作,共同開(kāi)發(fā)軟件。

 

(2) 抽象工廠(chǎng)的實(shí)現(xiàn)過(guò)程

 

簡(jiǎn)單工廠(chǎng)模式適合一機(jī)一秤的稱(chēng)重軟件開(kāi)發(fā)。抽象工廠(chǎng)模式適合解決一機(jī)多秤的稱(chēng)重模式。他將儀表實(shí)例創(chuàng)建過(guò)程推遲到子類(lèi)中完成,從而為訂單中的多種產(chǎn)品組合提供機(jī)會(huì)。以下是一機(jī)一秤一機(jī)兩秤類(lèi)圖如圖 3 所示。

云網(wǎng)客3.jpg

由上圖可以看出,每一個(gè)工廠(chǎng)代表一種稱(chēng)重模式,可以從一機(jī)一秤,擴(kuò)展到一機(jī) n 。而每一種稱(chēng)重模式中,可以用同一種型號(hào)的儀表,也可以用不同種型號(hào)的儀表組成系統(tǒng)。具

 

體實(shí)施時(shí),可根據(jù)需求選擇。C++ 偽代碼如下: class ICommObject;

 

class IFactory // 抽象工廠(chǎng)

 

{

 

public:

virtual ICommObject * CreateMeter1()=0; // 創(chuàng)建儀表 1,此處為純虛方法

 

virtual ICommObject * CreateMeter2 ()=0; // 創(chuàng)建儀表 2

 

// 可以繼續(xù)添加 protected:

 

IFactroy();

 

};

 

Class TOne_pc_and_one_scale:public IFactory// 具體工廠(chǎng):實(shí)現(xiàn)一機(jī)一秤功能

 

{

 

public:

 

ICommObject * CreateMeter1 () {return new TXK3190A9;}

 

};

 

Class TOne_pc_and_two_scale:public IFactroy// 具體工廠(chǎng):實(shí)現(xiàn)一機(jī)兩秤功能

 

{

 

public:

 

ICommObject * CreateMeter1(){return new

 

T8142pro;}

 

ICommObject * CreateMeter2(){return new

 

XK3180;}

 

};

 

客戶(hù)端調(diào)用代碼如下: // 一機(jī)一秤調(diào)用方法

char weight_A9[10]={0};// 重量字符串

 

IFactory * pScale=new TOne_pc_and_one_scale;

 

ICommObject * pA9=pScale->CreateMeter1();

 

strcpy(weight,pA9->read());// 讀取重量到 weight

 

中,中間省略 open,write,close 等方法代碼

 

 

// 一機(jī)兩秤調(diào)用方法 char weight_8142[10]={0},weight_3180[10]={0};//

重量字符串

 

IFactory * pScale=new TOne_pc_and_two_scale; // 創(chuàng)建工廠(chǎng)實(shí)例

ICommObject * p3180=pScale->CreateMeter1(); ICommObject * p8142=pScale->CreateMeter2(); strcpy (weight_3180,p3180->read ());// 讀取重量

到 weight_A9 中,中間省略 open,write,close 等方法代碼

 

strcpy (weight_8142,p8142->read ()); // 讀取重量到 weight_814

 

使用抽象工廠(chǎng)模式,在添加新的工廠(chǎng)時(shí),并不影響已有的工廠(chǎng)代碼,已有的代碼基本不需改動(dòng),提高了程序的穩(wěn)定性,符合開(kāi)

閉原則,因此成為 23 種軟件設(shè)計(jì)模式之一。

 

6.工廠(chǎng)模式在稱(chēng)重傳感器溫度測(cè)試軟件中的應(yīng)用

 

作者在編寫(xiě) 《傳感器溫度測(cè)試軟件》 的過(guò)程中,使用了數(shù)據(jù)采集板,每個(gè)板上有一個(gè)串口,多塊板同時(shí)向上位機(jī)發(fā)送傳感器的實(shí)時(shí)溫度測(cè)量數(shù)據(jù)。利用抽象工廠(chǎng)設(shè)計(jì)模式,很好的完成了軟件編寫(xiě)。原來(lái)在其他軟件中的通信代碼 (即圖 1),移植過(guò)來(lái)使用,進(jìn)行部分?jǐn)U展,實(shí)現(xiàn)了代碼重用。軟件可以對(duì)每一個(gè)串口的通信數(shù)據(jù)和通信參數(shù),進(jìn)行單獨(dú)的管理。如下圖:

云網(wǎng)客6.jpg

7.相關(guān)問(wèn)題討論

Windows 系統(tǒng)中,某個(gè)串口設(shè)備,在某一時(shí)刻,只能被一個(gè)軟件使用 (虛擬串口設(shè)備除外)。多個(gè)進(jìn)程或線(xiàn)程同時(shí)使用,會(huì)產(chǎn)生沖突。沖突的情況分為三種:

(1) 兩個(gè) (或兩個(gè)以上) 不同的軟件,同時(shí)打開(kāi)同一個(gè)串口

(2) 同一個(gè)軟件,運(yùn)行兩次實(shí)例 (或兩次以上) 在內(nèi)存中,同時(shí)打開(kāi)同一個(gè)串口

(3) 同一個(gè)軟件,運(yùn)行一次,但在軟件內(nèi)部?jī)纱危ɑ騼纱我陨希?打開(kāi)同一個(gè)串口

②兩種情況涉及不同進(jìn)程之間的資源搶占的沖突,可以考慮用進(jìn)程互斥的方法解決,不屬于軟件模式的解決范疇

對(duì)于第③種情況,可用“單例模式解決軟件內(nèi)部多次、同時(shí)讀、寫(xiě)同一個(gè)串口沖突的問(wèn)題。

單例模式的目標(biāo)就是:每個(gè)類(lèi)只能創(chuàng)建一個(gè)實(shí)例。類(lèi)的構(gòu)造函數(shù)拷貝構(gòu)造函數(shù)設(shè)為私有保護(hù)權(quán)限,類(lèi)實(shí)例由其靜態(tài)成員函數(shù)創(chuàng)建。

文中的工廠(chǎng)模式也涉及到串口的調(diào)用,因此可能有人會(huì)問(wèn):工廠(chǎng)模式能否結(jié)合單例模式同時(shí)使用呢?答案是否定的。單例模式封裝的對(duì)象是串口硬件實(shí)體。本文中的工廠(chǎng)模式是以稱(chēng)重儀表為對(duì)象,進(jìn)行封裝。兩者的出發(fā)點(diǎn)和角度不同,雖然都用到了串口通信,但是功能需求不同。物理串口,同一時(shí)刻,只能被一個(gè)實(shí)例使用,因此用單例模式比較合理。而稱(chēng)重儀表類(lèi),則存在多臺(tái)相同型號(hào)的儀表同時(shí)使用的情況,所以需要?jiǎng)?chuàng)建同一個(gè)類(lèi)的多個(gè)實(shí)例。這些屬于面對(duì)的編程思想,需要結(jié)合實(shí)踐去體會(huì)他們的異同。

8.總結(jié)

在軟件設(shè)計(jì)過(guò)程中,不僅衡器稱(chēng)重軟件一機(jī)多秤(即一臺(tái)上位機(jī),多臺(tái)稱(chēng)重儀表同時(shí)工作),可以使用工廠(chǎng)模式來(lái)設(shè)計(jì),其它類(lèi)似的涉及多臺(tái)儀表,多個(gè)串口同時(shí)工作的軟件,都可參考這種模式。軟件模式的使用,使代碼易于閱讀,管理,能提高代碼的重用效率。實(shí)際軟件開(kāi)發(fā)中,具體使用哪種模式,是一種模式,還是多種模式混合使用?對(duì)于開(kāi)發(fā)者來(lái)說(shuō),需要有一定行業(yè)經(jīng)驗(yàn),總結(jié)出用戶(hù)的需求,整理出規(guī)律性的內(nèi)容,再選擇合適開(kāi)發(fā)模式,才能找到一條正確的道路。

 

 


99九九免费视频 | 精品天堂av | 中文字幕一区二区三区久久 | 精品在线二区 | 97香蕉久久超级碰碰高清版 | 91视频91蝌蚪 | 久久婷婷色综合 | 国产在线观看99 | 日韩免费高清 | 97超碰人人干| 亚洲色视频 | 久久综合天天 | 香蕉在线播放 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 日日干天天爽 | 国产系列精品av | 久久久久久蜜av免费网站 | 国产精品成久久久久 | 又黄又爽又湿又无遮挡的在线视频 | 亚洲情感电影大片 | 丁香5月婷婷| 在线观看mv的中文字幕网站 | 狠狠色伊人亚洲综合网站野外 | 操操操av| 91精品视频免费在线观看 | 久久av在线播放 | 中文字幕一区二区三区视频 | 国产成人不卡 | 日本在线观看中文字幕无线观看 | 免费一级片观看 | 激情五月婷婷激情 | 91香蕉久久 | 可以免费观看的av片 | 久久久午夜电影 | 国内精品久久久久久中文字幕 | 午夜精品电影一区二区在线 | 我要看黄色一级片 | 超碰免费97 | 国产视频一区在线播放 | 国产成人一区二区三区免费看 | 久久久国产电影 | 一区二区中文字幕在线 | 狠狠色丁香九九婷婷综合五月 | 久草在线费播放视频 | 日本黄色免费在线观看 | 91精品1区2区 | 97超碰精品 | a√天堂资源 | www色,com| 97超级碰碰碰碰久久久久 | 狠狠艹夜夜干 | 国产精品久久久久久吹潮天美传媒 | 日韩在线三区 | 亚洲黄色大片 | 精品久久久久久久久久久院品网 | 1024在线看片 | 天天草天天干天天射 | 99视频在线观看视频 | 亚洲国产一区二区精品专区 | 国产精品亚洲片夜色在线 | 天天射色综合 | 色婷久久 | 成人午夜精品久久久久久久3d | 菠萝菠萝蜜在线播放 | 夜夜操天天摸 | 99热国产精品 | 91福利影院在线观看 | 韩国一区视频 | 在线播放精品一区二区三区 | 精品一二三四五区 | 欧美91精品久久久久国产性生爱 | 久久国产精品一国产精品 | 国语久久 | 国产精品久久久久久超碰 | 久草精品在线 | av中文字幕网站 | 黄色视屏在线免费观看 | 国产精品入口麻豆www | 精品久久免费看 | 国产剧情av在线播放 | www.av免费观看 | 91手机视频 | 日韩伦理一区二区三区av在线 | 99国产视频在线 | av在线看片 | 日韩狠狠操| 久草av在线播放 | 伊甸园永久入口www 99热 精品在线 | 亚洲精品一区二区三区在线观看 | 伊人伊成久久人综合网小说 | 国产成人精品亚洲日本在线观看 | 丁香电影小说免费视频观看 | 五月综合激情 | 亚洲国产综合在线 | 日韩精品中文字幕在线观看 | 国产精品一区专区欧美日韩 | 欧美午夜久久 | 日韩色在线观看 | 日韩成人不卡 | 五月婷婷天堂 | 久久a免费视频 | 国产成人免费网站 | 免费看黄在线看 | 国产涩涩网站 | 99久久免费看 | 91精品视频网站 | 欧美日韩另类在线 | 日韩av影视在线观看 | 91.精品高清在线观看 | 国产一区二区中文字幕 | 日韩大片在线观看 | 婷婷六月激情 | 99久久精品国产一区二区成人 | 超碰国产在线播放 | 久久久久久久久亚洲精品 | 99久久久国产精品免费观看 | 麻豆一区在线观看 | 欧美一级视频一区 | 91视频免费看网站 | 久久99精品国产99久久6尤 | 成年人在线免费看 | 极品国产91在线网站 | www.99热精品 | 欧美精品免费视频 | 黄色三级在线 | 最近高清中文在线字幕在线观看 | 日韩免费精品 | www.色午夜,com | 国产一区播放 | 久久精精品视频 | 国产精品午夜在线观看 | 最新中文字幕视频 | 久久伊99综合婷婷久久伊 | 国产视频一区二区在线观看 | 久久久久国产精品视频 | 麻豆av一区二区三区在线观看 | 色综合久久久久综合99 | 九九热免费在线视频 | av在线免费不卡 | 亚洲精品久久久久www | 国产视频1区2区3区 久久夜视频 | 久久天天躁夜夜躁狠狠躁2022 | 久久婷亚洲五月一区天天躁 | 午夜精品一区二区三区在线视频 | 国产精品理论片在线观看 | 99高清视频有精品视频 | 91禁在线看| 激情 一区二区 | www.狠狠| 久久久蜜桃一区二区 | 久久久美女 | 欧美激情在线看 | 婷婷激情久久 | 免费黄色小网站 | 亚洲一区二区三区四区精品 | 久久久精品成人 | 久久99精品热在线观看 | 在线观看片 | 国产免费一区二区三区最新6 | 日韩视频1区 | 久久黄色片 | 欧美日韩国产二区三区 | 五月天六月婷婷 | 人人搞人人干 | 欧美激情va永久在线播放 | 一本一本久久a久久精品牛牛影视 | 免费国产在线观看 | 国产精品第| 玖玖999 | 精品在线免费视频 | 亚洲精品在线观看av | 一区在线播放 | 久久亚洲综合色 | 中文字幕的 | 日韩精品在线观看视频 | 久久手机免费视频 | 91成熟丰满女人少妇 | 中文字幕一区二区三区乱码不卡 | 国产精品嫩草影视久久久 | 亚洲砖区区免费 | 97视频人人澡人人爽 | 精品欧美乱码久久久久久 | 国产原创av片 | 日日碰狠狠添天天爽超碰97久久 | 国产69久久久欧美一级 | 亚洲美女免费精品视频在线观看 | 亚洲成人av在线电影 | 中文字幕丝袜 | 精品亚洲一区二区 | 99精品视频一区二区 | 综合在线观看色 | 97在线观看免费视频 | 日韩精品视频第一页 | 综合色中色 | 欧美日韩免费观看一区=区三区 | 麻豆视频在线免费 | 日韩中文字幕a | 波多野结衣理论片 | 精品免费久久久久久 | 国产主播大尺度精品福利免费 | 日韩精品一区二区三区第95 | 国产黄免费 | 色网站免费在线看 | 黄色一级在线观看 | 亚洲国产精品激情在线观看 | 国产原厂视频在线观看 | 夜夜夜夜猛噜噜噜噜噜初音未来 | 亚洲精品小区久久久久久 | 日韩久久在线 | 一区二区精品久久 | 日韩av女优视频 | 日日摸日日碰 | 欧美成人亚洲成人 | 午夜三级在线 | 中文字幕欧美激情 | 丁香六月欧美 | 久久9999久久免费精品国产 | 中文在线免费视频 | 成人国产精品免费观看 | 九九99视频| 久久中文精品视频 | 超碰在线最新地址 | 在线观看视频一区二区三区 | 日韩欧美高清不卡 | 中文字幕av在线不卡 | 亚洲精品美女久久久久 | 亚洲欧洲精品一区二区精品久久久 | 日韩免| 97理论电影 | 国产二区精品 | 玖玖综合网 | 国产精品剧情在线亚洲 | 日韩精品久久久免费观看夜色 | 丁香六月综合网 | 免费看黄在线看 | 久久久亚洲成人 | 人人爽人人乐 | 日韩在线不卡av | 高潮久久久 | 久久这里只有精品首页 | 国产高清黄 | 欧美午夜久久久 | 亚洲国产美女久久久久 | 国产资源免费 | 日韩成人一级大片 | 在线视频观看国产 | 中文字幕五区 | 97国产精品视频 | 人人干天天射 | 午夜三级福利 | 91午夜精品| 国产黄在线看 | 成人黄色大片网站 | 最近中文字幕高清字幕在线视频 | 久久视精品 | 亚洲影院一区 | 成人免费视频观看 | 久久久久国产精品一区二区 | 亚洲精品视频在线播放 | 国产视频一区二区三区在线 | 欧美另类xxx | 欧美a级在线免费观看 | 国产在线播放一区二区 | 日本精品二区 | 美女久久一区 | 精品国产伦一区二区三区观看方式 | 日本黄色大片儿 | www.夜夜操.com | wwwww.国产 | 免费在线观看日韩 | 黄色一集片 | 日韩av免费一区 | 91人人澡人人爽 | 久久狠狠亚洲综合 | 国产精品国产三级国产不产一地 | 在线 你懂 | 一级理论片在线观看 | 91精品国产电影 | 国产精品6 | 久久精品xxx| 午夜精品久久久久久久爽 | 日韩精品第1页 | 久久综合色综合88 | 亚洲视频在线视频 | 免费高清在线观看成人 | 日本精品视频在线观看 | 日韩免费视频 | 国产精品久久久久久超碰 | 色窝资源 | 国产麻豆果冻传媒在线观看 | 国产成人免费观看 | 久久精品久久精品久久精品 | 三级av小说 | 天天爱天天色 | 国产精品一区二区av影院萌芽 | 亚洲精品在线观看av | 中文资源在线观看 | 久久视频在线 | 九九99| 久久在线视频在线 | 日韩网站在线免费观看 | 亚洲日韩欧美一区二区在线 | av在线8| 69国产在线观看 | 精品视频在线播放 | 久久伊人五月天 | av在线亚洲天堂 | 精品国产综合区久久久久久 | 亚洲在线网址 | 99久精品视频 | 一区二区三区在线看 | 欧美综合在线视频 | 久久超碰99| 97人人网| 在线成人短视频 | 国产精品成人一区二区 | 正在播放久久 | 97色涩| 亚洲精品国产拍在线 | 久久精品视频在线观看 | 国产黄色一级大片 | 国偷自产视频一区二区久 | 国产精品嫩草影视久久久 | 九九天堂| 天天激情站 | 国产精品1区2区3区在线观看 | 欧美在线视频免费 | 99在线观看视频网站 | 激情五月六月婷婷 | 国产福利久久 | 国产成人99久久亚洲综合精品 | 亚洲精品乱码久久久久v最新版 | 精品国产乱码一区二区三区在线 | 99久久日韩精品视频免费在线观看 | 亚洲成人av一区二区 | 久久国产露脸精品国产 | 9久久精品 | 久久久久久久久久亚洲精品 | 精品国产成人在线 | 国产成人福利片 | av天天色| 手机在线黄色网址 | 欧美日韩国产高清视频 | 久久综合欧美精品亚洲一区 |