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

架構師修煉 II - 表達思維與駕馭方法論

開發 架構
世界上最難的兩件事是:將別人口袋的錢放到自己的口袋里面;將自己腦子的想法完整放到別人的腦子里面。在大家的印象中,項目經理是項目中溝通得最多的角色,其實架構師的溝通量也不遜于項目經理……

開篇之前我想先說說當年開發的那點事兒:大約10年前吧,我還是一個程序員的時候經常都是遇到這樣的項目開發流程: 

  • 解決方案 :滿足客戶目的和投標用的一堆文檔(不少還是互聯網上抄的) ,是以Word為主的純文字。
  • 投標完成和客戶付訂金后項目組成立,通常為(0至1)個項目經理或者叫項目負責人+(1至N)個程序員 的項目組模式
  • 設計:由項目的頭或者經驗最足的成員參與編寫設計。倒霉的時候我們會得到一份按照軟件工程學的純中文形式的設計想法(抱歉我只能這樣來形容),而更糟的情況是得到一份完全看不懂的Rose文檔(那個年代可是UML大放異彩的時代,而當時我對UML完全就是個***)
  • 開發:到這里才有我參與的份,前面的內容通常作為項目組中低層的人員是不透明的。得到“設計”后,我們只能靠自己的“猜想”來實現,***拿著界面給經理看是否符合他的“設計要求”。 
  • 測試? 這項目是沒有的,只要程序能跑通直接就交付了。

項目的結果不言而喻,最多的溝通就是吵架與被訓斥還有就是被客戶抱怨。在這種例子很可笑,但更可笑的是至今我還聽到不少的朋友跟我說起這種類似的苦B經歷。他們不是沒有設計,不是沒有溝通也不是沒有管理,只是每個人都在用自己方式在表達,沒有共同的語言和溝通方式。那么換個溝通能力很強大的項目經理會改變這種境況嗎? 可能可以,但遇到最多的只能是改善,只是苦B這個角色換成項目經理而已,因為本質上沒有多大的變化。

我很感恩能有這么讓人難受的開發經歷,因為太難過了所以才促成當時的我去想辦法,去學習***努力去改變。接下來的部分會是我將這10多年來的經歷進行的一些總結,因為我學的東東很雜當時在大學里根本沒有這些知識只能靠在項目實踐中摸索前行,我受MSF與敏捷開發的影響很大,并且我是一個反UML人士,但我并沒有完全去采用某一種標準化的開發方法與開發流程,長年來只是以我對這些方法論的理解應用到我的項目里,而在這里我不想過多地討論關于開發方法論與項目管理的內容,而只是將其中與架構和設計相關的內容抽取出來論述。

表達思維

架構師的職責

世界上最難的兩件事是:將別人口袋的錢放到自己的口袋里面;將自己腦子的想法完整放到別人的腦子里面。在大家的印象中,項目經理是項目中溝通得最多的角色,其實架構師的溝通量也不遜于項目經理。在國內更多的情況是架構師與項目經理就是同一個人。作為系統/項目的總設計師,并不是單純只為客戶想出技術解決方案然后做出一份設計扔給項目組就完事了,而需要向每個位參與項目的成員或角色從不同的層面介紹或解釋設計原意與理念。

有效溝通

本文的主要內容說得簡單一點就是架構師銷售自己的設計的一些方式與方法。除了開發能力與設計能力以外“有效溝通”也是架構師的很重要一項技能。架構師與項目經理不同主要工作時間與精力不是全放在溝通上,但如果溝通不當就會出現因為反復溝通而大量消耗架構師的設計時間,甚至設計出讓人難以理解的架構,就算設計本身的含金量再高,在沒有找到伯樂之前也只能處于“曲高和寡”的尷尬局面。我之所以將溝通看作一項修煉的另一個原因是這些內容都是從書看不到的,只能從實戰中摸趴滾打慢慢積累而成,不同的經歷可能也會有不一樣的看法與心得,而接下來就是我積累多年的一點經驗的總結:

如果說開發流程是大的迭代那么設計就是經歷一次次的小迭代以至于完善,項目的每個參與者的想法與建議都是架構師修正設計,積累迭代的參考來源,。所以,架構師的溝通是需要雙向激蕩的。

我按照項目中與架構師溝通頻率***的角色、掌握的技能、信息的需求進行了歸類,這樣將更便于了解怎么樣的溝通方式最為有效:

銷售  

  • 溝通的需求:從設計中尋找賣點與特色,豐富銷售方案和定制預售計劃。
  • 知識技能:對開發或深入的技術內容可能只存在于概念性的理解、掌握市場的***手信息并且對客戶的需求最為了解。
  • 推薦工具:特色列表 (Full Feature List),字段:特色功能(Feature)+說明(Summary)

以產品開發(做項目會省事,沒有這一步)為例,我與銷售討論整個產品的***有特色的10項目功能(實際上3項就夠了,實踐告訴我只有前3項是別人記得最深刻的),這10項特色我們又稱之為“購買理由”,然后是整個系統全部特色功能(Full Features)。我經常會與銷售因為某個特色功能而經常激烈地碰撞,但***銷售所提出的意見與建議往往發揮著最重要的作用,有時甚至直接影響到項目的可行性。 

修練的法門:

  • 拋棄一切技術實現細節,寫/說出產品最重要的三個特色
  • 拋棄一切技術實現細節,用心聆聽“非專業”的意見
這項修煉看起很簡單,重于練心,做起來對于專業技術人員并不是容易的事,細節決定成敗,往往最簡單最不引起注意的人或事可能是一個關鍵點。

項目經理 

  • 溝通需求:根據設計進行時間估算、準備項目資源與工作分解。
  • 知識技能:大多是熟悉體系架構類的知識(需要了解他/她是偏向于技術還是管理),熱衷于溝通與跟蹤
  • 溝通工具:Excel
  • 圖形工具:架構圖、原理圖

項目經理是架構師在項目中最重要的伙伴,因為他在負責跟蹤與保證你的設計被實現的全過程,是項目資源的提供者與進度的控制者,他需要了解每一個檢查點(CheckPoint)與里程碑(Milestone),這也是項目經理與架構師最重要的連接點(Connection Point)。我與項目經理討論得最多的是系統實現的原理和實現各部分可能存在的難度和可能發生的風險。

修煉法門:用最簡單的圖形視覺化設計

以下這兩個圖是我為數不多的公開項目中可以拿出來作為示例的,我用的設計工具是Excel:

圖例1:技術架構

 

圖例2:應用程序架構

注:這兩個圖例是我的一個多年的開源項目DotNetAge CMS的架構圖,有興趣的朋友可以訪問GitHub或者 DotNetAge (英文)官網了解其它的相關內容 

開發 

  • 溝通需求:根據設計要求進行技術準備、部署開發環境、編寫DEMO以及最終編碼,關心自己所負責的技術細節實現方法。 
  • 知識技能:掌握或精通特定的開發工具及開發技巧
  • 溝通工具:范例代碼
  • 圖形工具:序列圖,狀態圖,類圖

與開發人員溝通是最困難也是最有思想激蕩的環節,開發人員就像是小朋友一般富有嘗試新事物的膽氣與想法,在沒有制度與行政壓力的作用下要讓他們完完全全“遵守紀律”可不是一件容易的事。我并不認為架構師或者項目經理在地位與行政上要領導其它的成員,這種“自然層級”并不利于溝通,反而容易讓項目組變成“一言堂”。我認為與開發人員有效溝通的***方法就是“用代碼說話”,這也是為什么我在***篇文章就提出架構師也需要是一個代碼控的另一原因。

我們交付到開發人員手上的都是空的公共接口或是公共類,開發人員是不能隨意改動任何接口、類、方法的命名的,這是一種最基本的約定,否則就亂套了。另外就是針對核心、多人使用、原理復雜的代碼必須帶有代碼范例。代碼范例就是與開發人員產生討論與激蕩的專用區域,也是為以后加入項目的人員提供的快速入門的***途徑,可以在很大的程度上降低不可見的、難實現、高風險代碼出現的機率。

修煉的法門:一邊設計一邊寫范例代碼,讓范例代碼成為設計的一部分

測試 

  • 溝通需求:根據設計劃分測試粒度、測試的覆蓋范圍、準備測試環境、定制測試計劃
  • 知識技能:掌握各種測試方法、對Bug的所在有著天然的直覺。
  • 溝通工具:類使用參考
  • 圖形工具:架構圖,序列圖,狀態圖,類圖

我認為測試人員的架構能力往往并不亞于任何的架構師。能從常規化測試(單元測試、界面測試)發現問題是最為初等的測試人員;能從系統性能、流程或架構中發現問題的測試靠的是經驗,閱歷甚至是一種直覺或者說是能“嗅”出問題的所在(在下一篇文章中我將會詳細解釋這種能力的源泉),這才是高級的測試人員。與測試人員的溝通與開發有點類似,只是當沒有高級的測試人員配置時,架構師也只能充當這個角色,作為軟件的設計師是最能了解自己的系統可能存在的問題,在溝通時這些“問題”就是溝通的重點,必要時需要反復地觀察測試報告的結果,以找出“隱患”所在。在這里,所謂的修煉法門與上一點基本相同。

在此只對常見角色進行大至的分類,按我們采用的開發方法不同可能還會存在更多的其它角色如:RM(發布經理),TM(技術經理)等等就不作一一細分了。

#p#

駕馭方法論

前文更多在探討如何向不同角色的人去表達自己的設計與思想的一些方法與見解,而作為架構師自身的能力也由為重要。對方法論的掌握、理解與實踐就成為架構師真正的“本錢”,用流行一點的語言就是所謂的“核心價值(Core Value)”。

我是一個很愚鈍的人,10多年來讀了很多的這方面的知識但真正能理解并用起來的也就兩三個,實在是由于環境、閱歷所限,很多理論沒有特定的環境也只能當小說看。通過對各種方法論的學習, 我悟到了一個心得:

方法論的學習曲線是迭代的,也就是說同樣的理論在經過不同的經歷后再次重新學習就會有更深入的理解和新的領悟。”

 單單是《設計模式》一書我就從來沒有停止過迭代式的學習與實踐,而每一次實踐我都能得到一次新的領悟與體會。

 我會在下一篇文章中講述我認為最有迭代學習價值的方法論。

 接下來就說說我認為在設計中很用的一些方法論,以及我對這些方法論的一些總結。

框架理論

“框架”一詞近年來隨著 .net framework 的成功推廣感覺上都被用爛了,什么東東都會加上個XXX框架,可能是源于市場需求吧。我接觸“框架”這個詞或者說這個理論是在.net 誕生以前,在開始探討框架之前,我在 WhatIs 上找到了一段在軟件框架方面比較貼切定義:

原文:

In general, a framework is a real or conceptual structure intended to serve as a support or guide for the building of something that expands the structure into something useful.

In computer systems, a framework is often a layered structure indicating what kind of programs can or should be built and how they would interrelate. Some computer system frameworks also include actual programs, specify programming interfaces, or offer programming tools for using the frameworks. A framework may be for a set of functions within a system and how they interrelate; the layers of an operating system; the layers of an application subsystem; how communication should be standardized at some level of a network; and so forth. A framework is generally more comprehensive than a protocol and more prescriptive than a structure .

 From Whatis.techtarget.com 

譯文 【Ray】
 
通常地一個框架是為了解釋如何構建某項有用的事物及其結構的實現或概念的一份支持或指南。在計算機系統內,框架通常被用于描述一個程序應該構建的層次結構。某些系統架構甚至會包含實際的程序,接口或開發工具集。一個框架指的可能是一套相關的函數集合、操作系統內的某些層次、或者某個子系統內的層次又或者是網絡中某個層次結構下的標準化通信方式等等。一個框架通常比一個協議的定義更為全面,比結構的定義更為規范。


 

    在設計上,我對框架的理解是:框架是用于定義并鎖定對某個概念的理解范圍與實現的邊界,在既定的邊界下可具體化至其實現、并能迭代進化的一份設計指引,是架構師手上總的設計藍圖。這是我喜歡使用的一種方法論,微軟在MSF中的Function Spec (功能說明書)與之有點類似。它是一份對用戶需求以技術架構形式***次細化的一種輸出。我喜歡這種方法論的原因是“簡單”,“靈活度高”,不需要標準化(標準化的東西是不需要設計的只需要套用,那是模式),只需要掌握兩種原則就行了。

建立藍圖(Build A Whole Picture)

在閱讀框架文檔時只即使所有內容都忘記了,只要整個設計圖景能印在讀者的腦海就達到目的了。這是一份指引,是思維的起點,有共同的圖景自然就會產生共同的討論點,鎖定設計與話題的邊界。同時也是系統進化的重要依據。

定義邊界 (Compressive Definitions)

所謂的邊界其實是對要畫出來的模塊的作用有一個明確并且清晰的文字表述,讓讀者能在建立全景藍圖后可以深入地了解每一個部分的具體含義,從而加深入系統的認識。

怎樣學習

最簡單的入手辦法就是從你所熟習或者了解的系統入手,將其框架重新描繪出來。然后將你所了解的每個部分的定義套入其中,你將會發現你對現有的系統建立起一個全新的認知。而關于工具的話可以用最原始的紙和筆,熟練后用Excel的夠了(想更為美觀可以用PhotoShop), 最重要的一點是不要讓工具分散你思考的集中度,所以簡單就好。

至此,如果你開始嘗試這個方法可能你就會明白,為何我這個系列的開篇需要花那么長的篇幅去說明成為架構師先得成為代碼控的必要性,因為從藍圖開始既需要超越語言限制又需要對語言有深刻的了解。

UML

要成為架構師的話,UML則是一門必修課。相關的資料與學習資源極其豐富,至于相關的學習方法也非常個性化,能掌握就好在此不作過多的贅述。在此,只是想分享一些我在學習和使用UML的一些心得。首先,在入手UML前必須非常熟悉對面向對象的所有基本概念否則基本上是浪費時間的。然后是有選擇性的學習,UML畢竟是一個非常陳舊的方法論即使到2.0版本如果真的全部安照UML的理論作為核心開發指導會非常坑爹,它是個重武器!看看當年最牛X設計工具: Rational rose 雖然強大,但我覺得它更像個玩具。他的所謂文檔也只能是設計師級的人看的,由其是Use Case基本上是個集丑陋與非人類思想為一體的圖形,我基本上不用,因為他在與人溝通和整理自己思路上顯得極為不便,還不如用文字直接寫兩句話能說明問題(純屬個人的吐槽)。

UML是設計的常識或者說用于建立共同的設計語言,但不要以其為藍本,它在發現類,抽象出接口、梳理類或類與類之的關系和交互性時有重要的作用。我的方法是只學圖形不學過程,能讓人看得懂的才是設計,也不需要特意安裝什么UML的專用工具,優秀的IDE一般都會帶有一些基本的UML圖形工具,比如:VisualStudio 。簡言之:UML只是共同語言,“活用就好”。

設計模式

設計模式是架構師解決復雜問題的一把雙刃劍,用好了問題可能會被大大簡化甚至是巧妙地解決,但用得不好可能也會讓體系架構出現不可控制的膨脹而變成一個糟糕的設計。面對設計模式理念我們需要以清晰的態度面對,當我們理解或掌握某種模式時肯定也會有一種嘗試的沖動,但請不要將這種頭腦發熱式的行為應用到設計中來,有沖動就去做一個實際的范例。在理論上掌握與實際理解畢竟會有一段距離,將這種淺層次的理解直接放到設計中,一旦運用不當就會控制不住類的規模而造成設計錯誤。前面這些話不是讓大家不去用設計模式而是需要慎用、活用,吃透了再用,為了能掌握它們我也吃不了少的苦頭,在此總結出一些運用的經驗,以供參考:

明確動機

不要為模式而模式。模式本身是針對解決某一問題域所提出的一個高度抽象的對象模型,每種模式都會有明確的使用動機的說明,這個動機與我們的實際的需求是否匹配是衡量其適用性的標準。

建立局部架構

在使用模式前,建議獨立的創建一個工程。把模式以TDD的方式邊實現,邊測試。網上雖然存在很多的模式實現的“例式”,但很多都寫得糊里糊涂的,真正能用的并不多,值得推薦的只能數Enterprise Library 了,它以模式為其礎也加入了MS的實踐算是一個設計者入門的寶庫。雖然EL的代碼很多,不過運用我在***篇所提到的看代碼的方法來學習也不會很吃力。在開發人員使用工程的公共接口和類以前,架師最應該做的就是模型測試, 采用了設計模式的架構最為有效的文檔是范例代碼,這樣可以避免去解釋內部原理的時間,開發者就是使用者會用就好。另外,作為設計者本身,寫范例代碼可以驗證設計的準確性與正確性,而對于測試用例的編寫也一份重要參考指南。有了范例代碼我們就可以同時向兩種角色(開發、測試)交付實際的設計結果。

理解組合的效果

標準的23種模式并不單單是獨立的,模式與模式之間的互用往往會產生1+1>2的效果。但同時需要注意的一點是,增大使用效果的同時也會同樣的增加系統復雜度。

設計模式是架構師伴侶,她是為解決問題簡化問題而生的。綜觀23種模式都是在不同的場景圍繞 耦合度、封裝性、易用性為核心論述,因此我檢驗運用模式效果的簡單標準是: 

  • 耦合度是否被降低了?
  • 實現細節是否已被接口隱藏了(封裝性)?
  • 外部接口實現是否簡單?
設計模式濃縮了設計大師前輩們的思想與經驗精華,不是一本能速成的設計手冊。我們需要模式是因為我們還沒有總結出自己的***設計實踐,這需要我們長期的實戰經驗積累。有了設計模式可以讓我們讓在大師的肩膀上去設計和創造。將設計模式反復學習,學懂、學通、活用直至我們忘掉模式,一切自然而成那才是屬于架構師自己的設計領域與空間。

測試驅動(TDD)

大家都知道測試的重要性,但運用于實際的并且貫徹整個開發過程的并不多見??赡苁?ldquo;測試”的可選擇性與“Quickly and Dirty” 的思想讓測試始終沒有被放到一個絕對重要的位置上去。說實在話我也是最近兩三年才完全地體驗到TDD給我帶來的方便性與認識到其中的重要性。由其是設計規模龐大的項目時,架構師再強也不可能考慮到全面的細節問題,由其是代碼實現。而MOQ這一類的工具類庫的出現也非常好的幫助我去模擬出類被實現后的效果,能直接測試出模型中可能存在的隱性或顯性而被忽視的問題。在團隊配合開發的流程中測試的作用更是貫穿全局。好的測試流程可以在無溝通的情況下讓項目經理了解每個CheckPoint的完成情;讓架構師能模擬實現,測試類模型和編寫使用范式;讓開發人員可擁有最小化的代碼運行入口;正如前文所提到的,一名高級的測試其設計能力可與架構師并肩,他們能從表象中發現架構中可能隱含的問題所在。那能不能反過來說一名架構師也應該具有高級測試的相應能力?很明顯答案是肯定的。架構師最起碼的需要掌握的是測試驅動的相關知識,最起碼了解如何寫單元測試、順序測試并能使用MOQ來模擬接口實現等的基本測試方法。

小結

這一篇文章我并沒有與上篇一樣給出一些具體的方法,因為本文討論的更多的是我僅有的一點點經驗的總結,而更多的是來源于思維上的。我極力地想用有限的文字能力去表達這種意識和思維,最終卻仍然覺得有很多的內容未必能盡說,或者你也可以嘗試通過實踐來去檢驗我以上的理論。而在下篇中我將會更為深入地討論在設計中我認為高層次的內容:“變化”,我一直想多舉出一些實例而并不想寫得與到處可見的“干貨”般無味,***還是那句:敬請期待吧。

責任編輯:林師授 來源: 博客園
相關推薦

2020-10-12 07:57:42

技術架構制圖

2013-12-25 09:50:27

華為馬悅企業業務

2022-06-27 08:47:29

BEM修飾符元素

2022-08-22 11:45:59

架構技術

2015-10-28 13:39:25

2015-08-12 17:06:28

2024-09-03 15:05:03

2009-12-23 15:43:52

架構師

2011-11-10 10:52:14

AutodeskCAE方法論CAD

2009-12-21 10:33:08

架構師抽象思維邏輯思維

2012-06-20 13:54:44

架構性能優化

2023-02-22 08:15:13

壓測模擬計算

2020-04-16 08:45:03

架構應用邏輯方法論

2014-11-18 11:26:24

TOG企業架構

2009-03-16 13:43:14

2021-11-05 08:28:27

內存泄漏調試

2020-06-28 14:15:52

前端架構師互聯網

2011-03-25 10:23:51

架構師

2018-03-12 15:21:20

點贊
收藏

51CTO技術棧公眾號

亚洲成a人片在线| 国产全是老熟女太爽了| 搞黄网站在线看| 91视视频在线直接观看在线看网页在线看 | 亚洲欧洲日产国码无码久久99| 免费在线一级视频| 国产一区二区久久| 国产精品99导航| 欧美极品视频在线观看| 精品国产精品国产偷麻豆| 欧美一区二区性放荡片| 激情网站五月天| 免费在线中文字幕| 中文字幕第一区第二区| 国产精品99久久久久久久| 一区二区视频免费| 国产精品久久777777毛茸茸| 久久影院模特热| 亚洲第一香蕉网| 北条麻妃在线一区二区免费播放| 欧美色精品天天在线观看视频| 亚洲色欲久久久综合网东京热| 亚洲视频tv| 久久久高清一区二区三区| 动漫精品视频| 国产av一区二区三区精品| 天堂久久久久va久久久久| 欧美二区在线播放| 极品色av影院| 日韩激情在线| 国产亚洲激情视频在线| av网站有哪些| 牛牛精品成人免费视频| 日韩一区二区电影网| 亚洲午夜精品一区| 国产成人精选| 日本韩国欧美一区二区三区| 欧美成人xxxxx| 51av在线| 黄色一区二区在线观看| 男人添女荫道口女人有什么感觉| 国产欧美黑人| 亚洲色图制服诱惑| youjizz.com亚洲| 在线播放日本| 中文字幕一区二| 香蕉精品视频在线| 国产三区视频在线观看| 亚洲女同ⅹxx女同tv| 国产又粗又硬又长| av色综合久久天堂av色综合在| 中文字幕亚洲精品在线观看| 在线国产99| av文字幕在线观看| 亚洲精品成人精品456| 99热这里只有精品免费| 性欧美videoshd高清| 亚洲综合视频网| 久久这里只有精品23| ****av在线网毛片| 日韩欧美在线字幕| 亚洲黄色a v| 欧美高清你懂的| 91麻豆精品国产自产在线观看一区 | 尤物视频在线看| 一区二区欧美精品| 日日摸日日碰夜夜爽无码| 麻豆免费在线| 在线视频一区二区三| 亚洲色图 在线视频| 亚洲精品毛片| 日韩欧美的一区二区| 国产十八熟妇av成人一区| 亚洲精品国产setv| 中文字幕在线日韩| 男人的天堂久久久| 国产日韩亚洲欧美精品| 国产精品视频中文字幕91| 国产裸体无遮挡| thepron国产精品| 欧美韩国日本精品一区二区三区| 成年人视频网站在线| 亚洲日穴在线视频| 国产午夜大地久久| 亚洲tv在线| 亚洲福利视频网| av电影网站在线观看| 68国产成人综合久久精品| 久久久久久国产精品三级玉女聊斋| 日韩三级av在线| 日韩1区2区日韩1区2区| 97超级碰碰| 黄色在线视频观看网站| 亚洲视频一区二区在线观看| 91好吊色国产欧美日韩在线| jizz欧美| 亚洲高清一二三区| 摸摸摸bbb毛毛毛片| 亚洲网站在线| 国产狼人综合免费视频| 色wwwwww| 亚洲色大成网站www久久九九| 黄页网站大全在线观看| 亚洲视频自拍| 亚洲视频自拍偷拍| 久草视频免费播放| 麻豆国产精品官网| 精品国产乱码久久久久软件| 日本在线观看免费| 成人福利在线观看视频| 国产一区福利视频| 都市激情在线视频| 亚洲电影激情视频网站| 在线免费视频一区| 秋霞蜜臀av久久电影网免费| 久久精品视频网站| 国产九色在线播放九色| 国内精品在线播放| 日韩亚洲视频| 亚洲人体视频| 精品久久久久99| 一区二区国产精品精华液| 亚洲欧美日韩视频二区| 91福利视频导航| 老司机精品视频在线观看6| 色天使色偷偷av一区二区| 午夜影院福利社| 一区二区国产在线| 国产女精品视频网站免费| 精品乱码一区二区三四区视频| 亚洲成人手机在线| 香蕉在线观看视频| 欧美国产高潮xxxx1819| 国产日韩欧美自拍| 在线中文资源天堂| 91搞黄在线观看| 高潮毛片无遮挡| 99热免费精品在线观看| 国产在线一区二区三区播放| 日本动漫理论片在线观看网站| 8v天堂国产在线一区二区| 日本免费www| 日本视频一区二区| 秋霞毛片久久久久久久久| 中文字幕一区久| 亚洲免费av网址| 欧美brazzers| 国产欧美视频在线观看| www.欧美日本| 成人免费av| 91精品久久久久久久久久另类 | 国产在线播放观看| 波多野结衣欧美| 国内精品久久久久久| 天天摸天天干天天操| 欧美日韩视频免费播放| 人妻少妇一区二区| 日本不卡视频在线| 在线免费观看成人| 亚洲一区二区三区免费| 这里只有精品在线| 成人激情视频小说免费下载| 国产高清一区二区三区视频| 日韩一区二区三区视频| 国产中文字字幕乱码无限| 成人黄色一级视频| 日韩精品一区二区三区不卡| 成人激情免费视频| 91九色偷拍| 中文不卡1区2区3区| 国产午夜精品全部视频在线播放| 精品国产www| 亚洲精品国产a| 91av在线免费| 久久er精品视频| 成人区一区二区| 天堂俺去俺来也www久久婷婷| 国产成人一区二区| 国产三区视频在线观看| 亚洲精品久久久久中文字幕二区 | 麻豆91在线播放免费| 黄色影视在线观看| 思热99re视热频这里只精品| 成人黄色av网站| 91超碰在线播放| 影音先锋日韩有码| 国产综合在线播放| 欧美午夜一区二区三区免费大片| 亚洲一级生活片| 久久影视一区二区| 色哟哟免费视频| 麻豆成人在线| 免费网站永久免费观看| 精品久久一区| 国产一区二区高清不卡| 日韩久久99| 热re91久久精品国99热蜜臀| free性欧美hd另类精品| 亚洲视频综合网| 日韩一级片免费| 91精品麻豆日日躁夜夜躁| 日本视频在线观看免费| 一区二区三区四区不卡在线| 性欧美精品男男| 99国产精品一区| a级大片免费看| 天使萌一区二区三区免费观看| 激情成人开心网| 欧美国产一区二区三区激情无套| 久久99精品国产一区二区三区| 免费看一区二区三区| 国产精品va在线| 粉嫩一区二区| 97视频免费观看| 调教一区二区| 久久香蕉频线观| 91xxx在线观看| 亚洲欧洲在线看| 午夜av免费观看| 精品国产自在久精品国产| 国产精品无码在线播放| 欧美三级电影在线观看| 久久久久久亚洲av无码专区| 精品久久久久久亚洲精品| 欧美日韩偷拍视频| 亚洲欧美区自拍先锋| 视频国产一区二区| 国产精品全国免费观看高清| 天天舔天天操天天干| 久久久久久久久久久电影| 欧美老熟妇乱大交xxxxx| aaa国产一区| a天堂视频在线观看| 成人福利视频网站| 女同性恋一区二区三区| 99国产欧美久久久精品| 人妻熟女aⅴ一区二区三区汇编| 成人激情免费网站| 国产精品久久无码| 99久久久国产精品| 亚洲av无码成人精品国产| 99精品国产视频| 中国美女乱淫免费看视频| 91美女片黄在线观看91美女| av直播在线观看| 91免费看片在线观看| 少妇光屁股影院| 久久久久久久电影| 日本一二三不卡视频| 欧美国产国产综合| 婷婷社区五月天| 亚洲精品久久久久久国产精华液| 欧美成人综合色| 午夜精品一区在线观看| 国产又大又黄视频| 在线精品视频免费观看| 亚洲图片小说视频| 日韩一级高清毛片| 亚洲av成人精品一区二区三区在线播放| 亚洲国产精品久久久久秋霞蜜臀| 亚洲av成人无码久久精品老人| 亚洲欧美另类人妖| 日本三级在线播放完整版| 九九热r在线视频精品| 超碰在线公开| 国产精品欧美在线| 日本免费一区二区视频| 国产呦系列欧美呦日韩呦| 九九久久成人| 国产91av视频在线观看| 极品av少妇一区二区| 久久久噜噜噜www成人网| 蜜臀av一区二区| 亚洲成人福利视频| 国产日韩欧美高清在线| 无码人妻精品中文字幕| 性感美女久久精品| 中文字幕永久免费视频| 日韩欧美国产小视频| 曰韩不卡视频| 最新亚洲激情| 天堂av在线网站| 国产成人av影院| 中文字幕第4页| 亚洲乱码国产乱码精品精98午夜| 国产成人精品a视频一区| 欧美三级电影一区| 四虎精品一区二区三区| 色偷偷偷综合中文字幕;dd| 第一av在线| 国产欧美一区二区三区在线看| caoporn成人| 永久久久久久| 国产视频亚洲| 中文字幕55页| 国产无一区二区| 国产一级视频在线| 欧美片在线播放| 亚洲av成人无码网天堂| 九九久久久久99精品| 成人1区2区| 裸体丰满少妇做受久久99精品| 国产精品久久久久无码av| av黄色在线网站| 岛国av在线一区| 日韩女同一区二区三区 | 亚洲免费一在线| 国产成人无吗| 国产精品第8页| 另类尿喷潮videofree| 永久亚洲成a人片777777| 色呦呦网站入口| 性娇小13――14欧美| 欧美国产在线一区| 国产蜜臀97一区二区三区| 男人的天堂一区二区| 欧美一区二视频| 在线播放日本| 国产精品欧美亚洲777777| 亚洲欧洲色图| 少妇无码av无码专区在线观看| 国产综合久久久久久鬼色| 手机在线观看av网站| 国产精品欧美久久久| 亚洲欧美成人vr| 欧美一级片免费播放| 国产盗摄一区二区三区| 亚洲天堂精品一区| 色婷婷av一区二区三区软件| 婷婷av一区二区三区| 国内精品小视频| 成人精品毛片| 欧美男女爱爱视频| 成人国产精品免费网站| 中文字幕一区二区三区手机版| 日韩欧美三级在线| 亚洲区欧洲区| 2014亚洲精品| 国产精品sm| 人妻互换一二三区激情视频| 亚洲午夜精品在线| 黄色av免费观看| 97精品国产91久久久久久| 精品日产乱码久久久久久仙踪林| 欧美国产视频一区| 成人精品视频一区| 日本视频免费在线| 亚洲精品在线不卡| 不卡av影片| 亚洲高清精品中出| 九九视频精品免费| 日韩成人毛片视频| 日韩欧美在线1卡| 大香伊人中文字幕精品| 精品蜜桃一区二区三区| 美女网站久久| 波兰性xxxxx极品hd| 欧美一区二区观看视频| 波多野结衣在线观看| 精品久久中出| 日本欧美一区二区| 国产激情av在线| 欧美视频在线一区二区三区 | 久久久免费在线观看| 国偷自产视频一区二区久| 国产99久久九九精品无码| 中文字幕第一区二区| 国产熟女一区二区丰满| 久久久久久久激情视频| 天堂日韩电影| 色天使在线观看| 亚洲成人免费电影| 免费福利在线观看| 91在线高清视频| 一本色道久久综合亚洲精品高清| 加勒比一区二区| 欧美丰满一区二区免费视频| 好看的中文字幕在线播放| 任我爽在线视频精品一| 国产麻豆精品theporn| 日韩av在线天堂| 色狠狠久久aa北条麻妃| 黄色成人美女网站| 亚洲精品自拍网| 亚洲成人免费观看| 日本www在线观看| 国产欧美日韩综合一区在线观看| 丝袜国产日韩另类美女| 岛国毛片在线观看| 亚洲天堂成人在线| 日韩成人18| 日本熟妇人妻中出| 亚洲高清不卡在线观看| 99reav在线| 久久久久久久久四区三区| 另类小说一区二区三区| 成人毛片18女人毛片| 欧美成人精品影院| 不卡中文字幕| 97人妻精品一区二区三区免|