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

一次關于架構的“嘴炮”

原創 精選
移動開發 Android
這是一次源于頭條 Android 客戶端軟件架構問題的探討,之所以冠上“嘴炮”之名,是因為它有一些務虛;同時又夾雜了一些方法論,不僅適用于客戶端軟件架構,也適用于其他工作場景,希望對大家有所幫助。

作者 | 段和塵

文章標題很隨意,些微有一些騙點擊的“賊意”;但內容卻是充滿了誠意,想必你已經感受到了。

這是一次源于頭條 Android 客戶端軟件架構問題的探討,之所以冠上“嘴炮”之名,是因為它有一些務虛;同時又夾雜了一些方法論,不僅適用于客戶端軟件架構,也適用于其他工作場景,希望對大家有所幫助。

為了拉滿讀者的帶入感,且以“我們”為主語,來看架構的挑戰、判斷和打法。

我們的挑戰期望高

優秀的公司對架構都有著很高的期許,都希望有一個良好的頂層設計,從上到下有統一的認知,遵循共同的規范,寫出讓人舒適的代碼,甚至有那么一丟偷懶,有沒有“一勞永逸”的架構設計可?;鶚I長青?

然而高期望意味著高落差,面對落差,我們容易焦慮:

代碼什么時候能寫的看上去本就應該是那個樣子;而現在怎么就像是在攀登“屎山”呢?

文檔什么時候能寫的既簡明又詳細;而現在怎么就簡明的看不懂,詳細的很多余呢?

工具什么時候能更好用更強大一點;而現在怎么就動不動掉鏈子,沒有想要的功能常年等排期呢?

“我”什么時候能從架構工作中找到成就感,而不是搞一搞就想著跑路呢?

責任大

大量問題的最終歸因都是代碼問題:設計不合理、使用不規范、邏輯太晦澀、編碼“坑”太多。

沒有一個單一的團隊能承擔這些問題的責任,我們收到過很多“吐槽”:

這尼瑪誰寫的,簡直不堪入目,看小爺我推倒重來展現一把真正的實力

XX 在這里埋了顆雷,但 XX 已經不管了,事到如今,我也只能兜底搞一把

這壓根就不應該這么用,本來的設計又不是為了這個場景,亂搞怪我咯?

臥槽,這特么是隱藏技能啊,編譯時悄悄改了老子的代碼,找瞎了都沒找到在哪過環節滲透進來的

一方面,口嗨一時爽,我們“吐槽”歷史代碼得到了一時的舒緩;另一方面,也意味著責任也傳遞到了我們:處理得好,我們的產出可能還是一樣會被當作糟粕,但如果處理不好,我們就斷送了業務發展的前程。

事情難

架構面臨的從來不是單一的業務問題,而是多個業務多人協作的交叉問題,負重前行是常態。

業務歷久彌新,歷史包袱疊加新的場景,隨便動動刀子就拔出蘿卜帶出泥。譬如:頭條 2021 年 10 月的版本有 XXXX 組件,相比一年前已經翻倍;類個數 XXXXX;插件 XX 個;倉庫數量 XX 個;ttmain 倉庫權限 XXX 人。(XX 代表數量級,隱去了具體數字,^_^)

技術棧層出不窮,一方面要保持成熟穩定,一方面要積極探索落地。架構的同學要熟悉多種技術棧,譬如:跨端技術在客戶端業務中通常都是多種共存(H5/Hybrid/小程序/Lynx/Flutter),一個業務到底選用哪種技術棧進行承載,需要耗費多少成本?選定技術棧后存在什么局限,是否存在不可逾越的障礙?

療效慢

我們經常說代碼復雜度高,并把降復雜度作為架構方向的重點工作之一;但影響復雜度的因子眾多,從外部來看,有主觀感受、客觀指標、行業對標三個角度;從內部來看,有工程組織、代碼實現和技術棧三個角度。即便我們很好的優化了工程結構這個因子,短時間內也很難感受到復雜度有一個明顯的下降。

我們常說治理,其實是設計一種機制,在這種機制下運轉直到治愈。

就像老中醫開方子,開的不是特效藥,而是應對病癥的方法,是不是有用的方子,終究還是需要通過實踐和時間的檢驗。希望我們不要成為庸醫,瞎抓幾把藥一燉,就吹噓藥到病除。

我們的判斷

架構問題老生常談

誰來復盤架構問題,都免不了炒一炒“冷飯”;誰來規劃架構方向,都逃不出了“減負”、“重構”、“復用”、“規范”這些關鍵詞。難點在于把冷飯炒熱,把方向落實。

架構方向一直存在

架構并不只局限于一個產品的初始階段,而是伴隨著產品的整個生命周期。架構也不是一成不變的,它只適合于特定的場景,過去的架構不一定適合現在,當下的架構不一定能預測未來,架構是隨著業務不斷演進的,不會出現架構方向做到頭了、沒有事情可搞了的情況,架構永遠生機勃勃。

強制遵循規范: 通常會要求業務公共的組件逐漸下沉到基礎組件層,但隨著時間的推移,這個規范很容易被打破

需要成熟的團隊: 領域專家(對業務細節非常熟悉的角色)和開發團隊需緊密協作,構建出核心領域模型是關鍵。但盲目嘗試 DDD 往往容易低估領域驅動設計這套方法論的實踐成本,譬如將簡單問題復雜化、陷入過分強調技術模型的陷阱

迄今為止,用于商業應用程序的最流行的軟件架構設計模式是大泥球(Big Ball of Mud, BBoM),BBoM 是“......一片隨意構造、雜亂無章、凌亂、任意拼貼、毫無頭緒的代碼叢林?!?/p>

泥球模式將扼殺開發,即便重構令人擔憂,但也被認為是理所應當。然而,如果還是缺乏對領域知識應有的關注和考量,新項目最終也會走向泥球。沒有開發人員愿意處理大泥球,對于企業而言,陷入大泥球就會喪失快速實現商業價值的能力。

——《領域驅動設計模式、原理與實踐》Scott Millett & Nick Tune

復雜系統熵增不斷

只要業務繼續發展,越來越復雜就是必然趨勢,這貼合熱力學的熵增定律。

可以從兩個維度來看復雜度熵增的過程:理解成本變高和預測難度變大。

理解成本:規模和結構是影響理解成本的兩個因素

宏大的規模是不好理解的,譬如:在城市路網中容易迷路,但在鄉村中就那么幾條道

復雜的結構是不好理解的,譬如:一個鐘表要比一條內褲難以理解

當需求增多時,軟件系統的規模也會增大,且這種增長趨勢并非線性增長,會更加陡峭。倘若需求還產生了事先未曾預料到的變化,我們又沒有足夠的風險應對措施,在時間緊迫的情況下,難免會對設計做出妥協,頭疼醫頭、腳疼醫腳,在系統的各個地方打上補丁,從而欠下技術債(Technical Debt)。當技術債務越欠越多,累積到某個臨界點時,就會由量變引起質變,整個軟件系統的復雜度達到巔峰,步入衰亡的老年期,成為“可怕”的遺留系統。

正如飼養場的“奶牛規則”:奶牛逐漸衰老,最終無奶可擠;然而與此同時,飼養成本卻在上升。

——《實現領域驅動設計 - 深入理解軟件的復雜度》張逸

預測難度:當下的籌碼不足以應對未來的變化

業務變化不可預測,譬如:頭條一開始只是一個單端的咨詢流產品,5 年前誰也不會預先設計 Lite 版、抖音、懂車帝等,多端以及新的業務場景帶來的變化是無法預測的。很多時候,我們只需要在當下做到“恰當”的架構設計,但需要盡可能保持“有序”,一旦脫離了“有序”,那必將走向混亂,變得愈加不可預測

技術變化不可預測,譬如:作為一個 Java 開發人員,Lambda 表達式的簡潔、函數式編程的快感、聲明式/響應式 UI 的體驗,都是“真香”的技術變化,而陳舊的 Java 版本以及配套的依賴都需要升級,一旦升級,伴隨著的就是多版本共存、依賴地獄(傳遞升級)等令人膽顫的問題。很多時候,我們不需要也沒辦法做出未來技術的架構設計,但需要讓架構保持“清晰”,這樣我們能更快的擁抱技術的變化

既然注定是逆風局,那跑到最后就算贏。

過多的流程規范反倒會讓大家覺得是自己是牽線木偶,牽線木偶注定會隨風而逝。

我們應該更多“強調”一些原則,譬如:分而治之、控制規模、保持結構的清晰與一致,而不是要求大家一定要按照某一份指南進行架構設計,那既降低不了復雜度,又跟不上變化?!皬娬{”并不直接解決問題,而是把重要的問題凸顯出來,讓大家在一定的原則下自己找到問題的解決辦法。

我們的打法我們的套路是:定義問題 → 確定架構 → 方案落地 → 結果復盤。越是前面的步驟,就越是重要和抽象,也越是困難,越能體現架構師的功力。所以,我們打法的第一步就是要認清問題所在。

認清問題

問題分類

架構的問題是盤根錯節的,將所有問題放在一起,就有輕重緩急之分,就有類別之分。區分問題的類別,就能在一定的邊界內,匹配上對應的人來解決問題。

工程架構:

業務架構:

基礎能力:

標準化:

問題分級

挑戰、問題、手段這些經?;鞛橐徽?,哪些是挑戰?哪些是問題?那些是手段?其實這些都是一回事,就是矛盾,只是不同場景下,矛盾所在的層級不同,舉一個例子:

我們判斷當前的研發體驗不能滿足業務日漸延伸的需要,這是一個矛盾,既是當下的挑戰,也是當下的一級問題。要處理好這個矛盾,我們得拆解它,于是就有了二級問題:我們的代碼邏輯是否已經足夠優化?研發流程是否已經足夠便捷?文檔工具是否已經足夠完備?二級問題也是矛盾,解決好二級問題就是我們處理一級矛盾的手段。這樣層層遞進下去,我們就能把握住當前我們要重點優化和建設的一些基礎能力:插件化、熱更新、跨端能力。

在具體實踐過程中,基礎技術能力還需要繼續拆解,譬如:熱更新能力有很多(Java 層的 Robust/Qzone 超級補丁/Tinker 等,Native 層的 Sophix/ByteFix 等),不同熱更方案各有優劣,適用場景也不盡相同。我們要結合現狀做出判斷,從眾多方案汲取長處,要么做出更大的技術突破創新,要么整合已有的技術方案進行組合創新。

勤于思考問題背后的問題

亨利福特說,如果我問客戶需要什么,他們會告訴我,他們需要一匹更快的馬。從亨利福特的這句話,我們可以提煉出一個最直接的問題:客戶需要一匹更快的馬。立足這個問題本身去找解決方案,可能永遠交不出滿意的答卷:尋找更好的品種,更科學的訓馬方式。

思考問題背后的問題,為什么客戶需要一匹更快的馬?可能客戶想要更快的日常交通方式,上升了一個層次后,我們立刻找到了更好的解決方案:造車。

我們不能只局限于問題本身,還需要看到問題背后的問題,然后才能更容易找到更多的解決方案。

認知金字塔

引用認知金字塔這個模型,謹以此共勉,讓我們能從最原始數據中,提煉出解決問題的智慧。

  • DATA:金字塔的最底層是數據。數據代表各種事件和現象。數據本身沒有組織和結構,也沒有意義。數據只能告訴你發生了什么,并不能讓你理解為什么會發生。
  • INFORMATION:數據的上一層是信息。信息是結構化的數據。信息是很有用的,可以用來做分析和解讀。
  • KNOWLEDGE: 信息再往上一層是知識。知識能把信息組織起來,告訴我們事件之間的邏輯聯系。有云導致下雨,因為下雨所以天氣變得涼快,這都是知識。成語典故和思維套路都是知識。模型,則可以說是一種高級知識,能解釋一些事情,還能做預測。
  • WISDOM:認知金字塔的最上一層,是智慧。智慧是識別和選擇相關知識的能力。你可能掌握很多模型,但是具體到這個問題到底該用哪個模型,敢不敢用這個模型,就是智慧。

這就是“DIKW 模型”。

循序漸進

架構的問題不能等,也不能急。一個大型應用軟件,并非要求所有部分都是完美設計,針對一部分低復雜性的區域或者不太可能花精力投入的區域,滿足可用的條件即可,不需要投入高質量的構建成本。

以治理頭條復雜度為例:

  • 長期的架構目標:更廣(多端復用)、更快(單端開發速度)、更好(問題清理和前置攔截)
  • 當下的突出問題:業務之間耦合太重、缺少標準規范、代碼冗余晦澀

細節已打碼,請讀者不要在意。重點在于厘清問題之后,螺旋式上升,做到長期有方向,短期有反饋。

最后

一頓輸出之后,千萬不能忘卻了人文關懷,畢竟謀事在人。架構獅得供起來,他們高瞻遠矚,運籌帷幄;但架構人,卻是更需要被點亮的,他們可能常年在“鏟屎”,他們期望得到認可,他們有的還沒有對象...干著干著,架構的故事還在,但人卻仿佛早已翻篇。

責任編輯:未麗燕 來源: 字節跳動技術團隊
相關推薦

2022-12-22 19:04:14

RabbitMQ消息中間件

2011-06-28 10:41:50

DBA

2013-04-02 14:27:02

架構架構評審

2012-01-12 10:01:28

模塊

2013-12-12 10:28:04

2017-06-12 11:09:56

計數架構數據庫

2020-10-24 13:50:59

Python編程語言

2021-12-27 10:08:16

Python編程語言

2018-11-28 14:01:41

瀏覽器緩存協議

2023-02-28 08:00:24

2012-08-28 09:21:59

Ajax查錯經歷Web

2021-11-01 17:29:02

Windows系統Fork

2011-04-07 11:20:21

SQLServer

2017-12-07 12:47:48

Serverless架構基因

2018-05-25 14:41:56

Serverless無服務器構造

2017-02-28 11:13:36

華為

2025-08-05 02:25:00

2015-10-26 16:38:17

2025-08-06 05:22:00

負載均衡HTTP連接RPC連接
點贊
收藏

51CTO技術棧公眾號

久久精品国产亚洲av香蕉| 少妇愉情理伦片bd| 欧美性猛交xxx乱大交3蜜桃| 麻豆精品视频在线观看| 欧美尺度大的性做爰视频| 无码人妻精品一区二区三| 欧美极度另类| 一区二区三区在线不卡| 欧美日韩无遮挡| 国产视频第二页| 午夜亚洲精品| 欧美精品一区二区免费| 亚洲精品视频久久久| 精品中文字幕一区二区三区| 一本大道久久a久久综合婷婷| youjizz.com亚洲| 日韩国产福利| 成人在线视频一区| 成人精品久久久| av大全在线观看| 午夜欧美精品| 中文字幕av一区二区三区谷原希美| 国产sm在线观看| 欧美视频免费看| 欧美性极品xxxx做受| 国产一级黄色录像片| 懂色一区二区三区| 久久先锋资源网| 国产精品久久久久久久久久久久午夜片| 糖心vlog精品一区二区| 中文在线不卡| 97精品久久久中文字幕免费| 唐朝av高清盛宴| 国产精品伦理久久久久久| 亚洲性视频网址| 91网站免费视频| 日本亚洲不卡| 亚洲精品国产精品国产自| 中国黄色片免费看| 91p九色成人| 欧美亚洲综合网| 午夜欧美福利视频| 日韩pacopacomama| 色综合久久天天综合网| 乱人伦xxxx国语对白| av福利导福航大全在线| 亚洲午夜三级在线| 日韩一区二区高清视频| 日本片在线观看| 一区二区三区在线观看国产 | 久久久男人的天堂| 精品国模一区二区三区欧美 | 亚洲天堂av一区二区三区| 久久久加勒比| 欧美日韩久久久一区| 三级a在线观看| 成人免费一区| 欧美日韩高清影院| 在线视频一二区| 亚洲超碰在线观看| 精品国产一区二区三区av性色 | 久久久久久免费网| 欧美日韩电影一区二区三区| 日本ー区在线视频| 欧美激情一区二区在线| 亚洲一区二三| av毛片在线免费看| 亚洲一区二区三区三| 国产人妻777人伦精品hd| 麻豆视频在线看| 在线视频中文字幕一区二区| 亚洲老女人av| 警花av一区二区三区| 亚洲高清一二三区| 一区二区三区伦理片| 欧美电影三区| 色综合久久久久久中文网| www.av视频在线观看| 午夜在线视频观看日韩17c| 国产精品国产自产拍高清av水多| 亚洲一区二区激情| 国产不卡免费视频| 麻豆视频成人| 日p在线观看| 亚洲国产精品精华液网站 | 国内精品伊人久久久久av影院| 亚洲iv一区二区三区| 乱色精品无码一区二区国产盗| 久久综合色8888| 亚洲一区三区视频在线观看 | 亚洲成人av福利| 91看片就是不一样| 一区二区三区视频免费视频观看网站 | 香蕉久久精品日日躁夜夜躁| 最新国产精品拍自在线播放| 久久高清免费视频| 麻豆国产精品视频| 国模精品娜娜一二三区| 日韩伦理在线观看| 精品日韩中文字幕| 免费看的av网站| 久草在线成人| 久久久噜噜噜久久| 中文字幕激情视频| 99久久综合狠狠综合久久| 制服诱惑一区| 裤袜国产欧美精品一区| 精品免费视频.| 人妻无码一区二区三区免费| 国产精品日韩精品欧美精品| 91国语精品自产拍| 日韩精品小视频| 日韩在线观看视频一区二区| 台湾佬成人网| 亚洲大胆人体在线| 国产精品免费在线视频| 欧美亚洲一级| 国产精品一区视频| 超碰在线免费公开| 欧美色视频在线观看| 中文在线一区二区三区| 欧美影视一区| 成人黄色影片在线| 国产日产精品久久久久久婷婷| 亚洲一区二区三区四区在线| 免费在线观看污网站| 国产一区二区精品久| 午夜伦理精品一区| 亚洲高清视频网站| 亚洲欧美日韩一区二区| 777一区二区| 成人羞羞动漫| 亲子乱一区二区三区电影| 日本激情一区二区| 亚洲观看高清完整版在线观看 | 成人在线不卡| 亚洲另类欧美自拍| 青青草免费观看视频| av成人老司机| 国产美女无遮挡网站| 日本中文字幕在线一区| 欧美一级淫片videoshd| 色播色播色播色播色播在线| 天天操天天色综合| 国产毛片毛片毛片毛片毛片毛片| 黄色另类av| 国产日韩一区欧美| 18aaaa精品欧美大片h| 亚洲国产欧美自拍| 91午夜视频在线观看| 91美女视频网站| 欧美老熟妇喷水| 免费观看久久av| 国产成人久久久精品一区| 黄色的视频在线免费观看| 色久优优欧美色久优优| 精品人妻无码一区| 久久机这里只有精品| 伊人色综合影院| 成人亚洲精品| 欧美激情国产高清| 日韩三级电影网| 欧洲国内综合视频| 男人的午夜天堂| 国产麻豆精品久久一二三| 成人午夜视频免费观看| 欧美wwwwww| 青青在线视频一区二区三区| 国产大学生校花援交在线播放| 欧美日韩视频在线观看一区二区三区 | www.日本在线观看| 婷婷丁香久久五月婷婷| 少妇人妻好深好紧精品无码| 九色综合狠狠综合久久| 久久亚洲a v| 日韩免费电影在线观看| 国产精品福利小视频| av免费在线观| 亚洲男人7777| 91无套直看片红桃| 亚洲成av人片一区二区梦乃| av中文字幕免费观看| 国内久久精品视频| 91九色在线观看视频| 日本一二区不卡| 99精品国产高清在线观看| 国产极品在线观看| 日韩亚洲欧美中文高清在线| 亚洲免费视频网| 精品视频在线免费观看| 久久久久国产精品夜夜夜夜夜| 久久久亚洲午夜电影| 日韩欧美色视频| 午夜亚洲视频| 麻豆传媒网站在线观看| 国产成人3p视频免费观看| 亚洲xxxxx性| 亚洲精品永久免费视频| 欧美国产日韩一区二区| 国产成人天天5g影院在线观看| 日韩小视频在线观看专区| 欧美brazzers| 亚洲超碰精品一区二区| 国产午夜精品理论片在线| 99国产麻豆精品| 手机在线免费毛片| 青青草原综合久久大伊人精品优势 | 国产亚洲精品成人a| 日本中文字幕一区二区视频| www精品久久| 91精品国产福利在线观看麻豆| 精品亚洲一区二区三区四区五区高| 婷婷久久免费视频| 国产成人精品久久二区二区| 俺来也官网欧美久久精品| 久久精彩免费视频| 春暖花开成人亚洲区| 久色成人在线| 在线亚洲欧美视频| 日本人妻丰满熟妇久久久久久| 欧美唯美清纯偷拍| 中文字幕亚洲精品在线| 亚洲综合男人的天堂| 999精品在线视频| 中文字幕va一区二区三区| 久久中文字幕人妻| 99精品视频一区| 国产chinese中国hdxxxx| 国模一区二区三区白浆| 粉色视频免费看| 日本视频在线一区| 97av视频在线观看| 亚洲美女一区| 欧美精品自拍视频| 好吊日精品视频| www.日本三级| 午夜精品av| a级片一区二区| 色喇叭免费久久综合网| 亚洲国产精品日韩| 精品国产一区二区三区噜噜噜 | www.51色.com| 久久精品国产成人一区二区三区| 日韩欧美在线播放视频| 国产一区成人| 男女高潮又爽又黄又无遮挡| 国产视频欧美| 日本三级免费观看| 丝袜美腿亚洲一区二区图片| av片中文字幕| 日韩高清在线不卡| 青青在线视频免费| 日本伊人午夜精品| 一本岛在线视频| 韩国av一区二区三区在线观看| 亚洲精品视频三区| 国产精品资源在线看| 丰满人妻一区二区三区53视频| 国产一区二区三区日韩| 一区二区在线免费观看视频| 国产suv精品一区二区883| 成年人看片网站| av不卡在线播放| 一区二区黄色片| 中文字幕一区二区三| 国产性生活大片| 亚洲午夜精品在线| 欧美在线观看不卡| 欧美性极品少妇| 一二三区在线播放| 精品国产网站在线观看| 三级av在线| 日韩在线观看成人| 欧美aaa免费| 国产999在线| 国产电影一区二区| 国产欧美亚洲日本| 欧美日韩有码| www.欧美黄色| 日本在线播放一区二区三区| 一级黄色大片儿| 北条麻妃国产九九精品视频| 一区二区伦理片| 亚洲黄色免费电影| www.欧美色| 日韩免费观看高清完整版在线观看| 亚洲av片在线观看| 日韩视频免费在线| 日本黄色免费在线| 国产欧美在线看| 欧美亚洲色图校园春色| 亚洲一区二区三区在线观看视频| 激情综合中文娱乐网| 青青青在线视频免费观看| 国产精品正在播放| 91视频在线网站| 亚洲一区二区三区激情| 亚洲av综合一区| 日韩免费电影一区| 国产黄在线看| 欧美激情视频一区二区三区不卡| 日韩中文视频| 国产伦精品一区二区三区| 99久久婷婷这里只有精品| 18禁免费无码无遮挡不卡网站| 国产综合成人久久大片91| 一级特级黄色片| 一区二区三区免费看视频| 中文字幕丰满人伦在线| 日韩精品中文字幕久久臀| 二区三区四区高清视频在线观看| 日韩美女免费视频| 成人自拍在线| 黄色一级视频播放| 日本不卡的三区四区五区| 日本黄色录像片| 亚洲蜜臀av乱码久久精品蜜桃| 五月婷婷激情五月| 亚洲国产91色在线| 男人添女人下部高潮视频在线观看 | 国产电影一区二区三区| 久久久久亚洲av无码a片| 午夜av一区二区| 亚洲国产精品久久久久爰性色| 色多多国产成人永久免费网站| a日韩av网址| 精品国产乱码久久久久久丨区2区| 亚洲欧美一区在线| 在线免费黄色网| 国产精品久久久久久妇女6080 | 精品黑人一区二区三区久久| 日本高清视频在线观看| 国产精品激情av在线播放| 综合国产视频| 国产又黄又大又粗视频| 91尤物视频在线观看| 日本三级片在线观看| 亚洲第一男人天堂| 92久久精品| 国产欧美日韩伦理| 夜久久久久久| 李宗瑞91在线正在播放| 一本久久综合亚洲鲁鲁五月天| 日本免费一区二区三区最新| 555www成人网| 久久av免费| 日本激情视频在线| 国产精品免费视频网站| 中文字幕乱码人妻二区三区| 在线视频欧美性高潮| 精品69视频一区二区三区| 一区在线电影| 国产精品一区二区视频| 久久精品亚洲无码| 国产视频精品自拍| 欧美日韩不卡| 亚洲午夜精品福利| 国产一区二区三区不卡在线观看 | 欧美美女黄视频| 黄色精品免费看| 亚洲综合大片69999| 国产精品激情| 韩国无码一区二区三区精品| 欧美视频在线观看免费| 国产精品一区二区婷婷| 国产精自产拍久久久久久| 999国产精品永久免费视频app| 免费人成视频在线播放| 性感美女久久精品| 国产原创av在线| 91中文字幕在线| 亚洲精一区二区三区| 美女被到爽高潮视频| 欧美人与z0zoxxxx视频| 美女精品视频| 欧美日韩精品久久久免费观看| 美国三级日本三级久久99| 裸体武打性艳史| 日韩精品在线播放| 久久国产三级| 拔插拔插海外华人免费| 国产日韩精品一区| 国产影视一区二区| 久久人人爽人人爽人人片av高清| 中文有码一区| 古装做爰无遮挡三级聊斋艳谭| 精品二区三区线观看| 1769在线观看| 精品国产一区二区三区四区精华| 日本特黄久久久高潮| 国产精品99精品| 最近更新的2019中文字幕 | 亚洲高清久久久久久| www.久久| 国产美女网站在线观看| 中文字幕在线不卡国产视频| 色婷婷av一区二区三区之红樱桃| 国产精品高潮视频| 99精品国产99久久久久久福利| 国产午夜精品理论片|