不知不覺中做架構師也已經4年了,最初的感覺只是一個名號,不再把代碼作為強制的任務,后來開始慢慢的轉變工作內容。畫圖,成為了我的主要工作。我可能不是每天都在寫代碼,但卻是每天都在畫圖,而且我越來越覺得畫圖讓我更容易說清楚。
畫架構圖有幾個好處:看清楚系統包含哪幾個部分,各個部分實現什么職責,相互之間的關系是什么。當和別人討論的時候,通過架構圖可以很容易的把討論的問題框定在一個確定的范圍里,可以很容易的察覺出彼此之間存在誤解的一些區域,比如對一個底層的組件。這樣就能避免兩個人討論了半天,結果發現你說的是A模塊,我說的是B模塊。
當我需要向別人說明某個問題時,通過畫圖,可以高效的說明問題的背景,哪些是相關的,哪些是無關。聽我說話的人就能很快進入我設定的角色,問出有針對性的問題,理解我的要求。
那么怎樣才能畫出高質量的架構圖呢?
首先需要明白你畫圖的目的,是說明業務還是技術;是整體還是局部;是已完成的還是待完成的。
確定了目的以后,就需要確定實現該目的的關鍵因素有哪些,比如為了說明業務,我需要說明用戶是誰,做這個業務的目的是什么,做業務時系統需要完成什么任務,做完之后,其它系統會受什么影響;
確定關鍵因素之后,需要選擇表達關鍵因素的方法,獨立的方塊,方塊內包含的方塊,流程,網狀;
最后是開始畫圖,一定要先划出高層次的模塊,確定好各個模塊的位置,確定好各個模塊的核心內容,再分模塊填充里面的內容。不要一開始就話小模塊,過早陷入細節。