這多是你見過最好的工程師繪圖指北

做爲一名工程師,繪圖能夠說是必備的技能。優秀的繪圖能力就像寫得一手好字,總能讓你在團隊或者客戶面前閃光,這也是你贏得團隊青睞和客戶讚賞的一個重要能力。html

繪圖的過程實際上是分解任務分離關注點的過程,它和程序設計的過程幾乎重疊,所以繪圖和程序設計是正向相互促進的。也就是說,你在繪圖的過程當中發現的問題頗有可能會在程序中出現,你在程序中要面對的問題頗有可能在繪圖的過程當中就發現了,早發現早處理。git

爲何別人畫的圖比個人好看?有什麼技巧嗎?畫圖醜是天生的嗎?我能不能經過短期的學習繪製出逼格高的程序設計圖呢?web

繪圖是點、線、面、光影和色彩的融合,想要設計出漂亮的圖,能夠閱讀設計領域的相關知識,跨界是目前你跟同領域對手拉開差距的優選之一。今天咱們就來學習如何畫得一手好圖,畫好圖有哪些技巧和策略,並手把手帶你繪製程序設計過程當中經常使用的時序圖、流程圖、應用分層架構圖。編程

Processonsegmentfault

ProcessOn 是一個在線做圖的聚合平臺, 運營方是北京大麥地信息技術有限公司。ProcessOn 的繪圖基於瀏覽器,所以它不受操做系統限制,能夠跨平臺操做。ProcessOn 的畫布分爲兩大類:思惟導圖畫布和自由畫布。思惟導圖畫布專一於節點屬性和關係的構建,圖 1 是思惟導圖畫布的模板示例。後端

圖 1 思惟導圖畫布的模板示例

自由畫布則給咱們提供了盡情揮灑的空間,咱們能夠在自由畫布中繪製 UML 類圖、功能模塊組合圖、事件流程圖和應用架構圖等,圖 2 是自由畫布的模板示例。瀏覽器

圖 2 自由畫布的模板示例

既然是公司運營,那麼確定須要盈利點了,ProcessOn 產品的價格分爲三個等級:免費版、我的版和團隊版。圖 3 展現了不一樣版本的價格與功能差別。緩存

圖 3 ProcessOn 不一樣版本的價格與功能差別圖示

用戶註冊登陸後就可使用免費版,雖然說它限制了單個帳戶文件數量,但咱們能夠經過邀請好友來提高文件數量上限。值得一提的是,一個文件裏能夠繪製多幅圖,這樣文件上限的問題就緩解了。不過若是是團隊使用或者商用,建議購買我的版或者團隊版,一方面可以支持開發團隊提供更穩定的服務和豐富的功能,另外一方面也尊重原創勞動。服務器

金山 WPS微信

WPS 是國內不可多得的優秀應用,與微軟 Office 辦公套件平起平坐且不落下風,實在使人佩服。WPS 近年來也大力發展除文檔、表格和演示文稿外的附加功能,思惟導圖和流程圖兩大模塊爭相上線。圖 4 爲 WPS 思惟導圖佈局模板圖示。

圖 4 WPS 思惟導圖佈局模板圖示

從文件導出的格式(.pos)來看,WPS 彷佛是跟 ProcessOn 合做推出的思惟導圖和流程圖模塊。相對於 ProcessOn 免費版的文件數上限,WPS 更有優點,可是從 WPS 導出圖片時會帶有水印。若是是團隊使用,ProcessOn 的多人協做看起來更好用。

Diagrams

diagrams 是一款免費開源且跨平臺的繪圖應用,支持離線繪圖在線繪圖。在線繪圖和 ProcessOn 同樣,在瀏覽器中操做便可。值得稱讚的是 diagrams 提供了 macOSLinux(deb/rpm/snap/AppImage)和 Window 等主流操做系統的桌面應用,這意味着咱們能夠離線繪圖。圖 5 是 diagrams 官網給出的繪製成果圖示。

圖 5 diagrams 官網給出的繪製成果圖示

diagrams 沒有文件數量限制,它適配了 Google 雲盤微軟 OneDriveAtlassianDropboxGitHubNextCloud蘋果的 iCloud 等雲端存儲,同時也支持將文件導出到本地,太棒了!

diagrams 支持自定義的導出縮放,容許咱們在導出時配置圖片縮放比例,例如 75% 或 300%。導出縮放可以保證圖片的清晰度,是超清大圖的保證。若是你要印刷設計出來的圖,能夠在導出時設置 DPI 的值,具體操做會在後面介紹到。

不管是 ProcessOn 仍是 WPS,導出的圖片(PNG/JPG)都不夠清晰,WPS 甚至還帶有水印。若是想要將 ProcessOn 上的繪圖成果導出爲超清圖,那必須先導出爲 SVG 格式,在此基礎上經過其餘應用轉換爲 PNG 格式,要求在轉換時設定圖片縮放比例。在導出圖片文件的清晰度方面,diagrams 完勝。

我以前用過很長一段時間的 ProcessOn,《Python3 反爬蟲原理與繞過實戰》這本書創做的時候書中插圖都是用在 ProcessOn 繪製的。偶然看到了 diagrams,體驗過一次以後就全面轉到 diagrams 了。

本篇文章將基於 diagrams 的桌面應用,請各位讀者自行前往 diagrams 官網下載適合本身操做系統的桌面應用。

小知識:diagrams 還有另一個域名,draw.io,當你看到其餘地方介紹 draw 繪圖工具時,大機率指的就是 diagrams。

佈局概覽

打開 diagrams 桌面應用,它會讓咱們選擇建立新繪圖或者打開現有繪圖,懸浮窗右下角能夠選擇語言。

選擇建立新繪圖後跳轉到以下圖所示的畫布類型選擇界面,左側是不一樣分類的畫布模板菜單欄,右側是對應分類的畫布模板。一般咱們會選擇空白框圖模板,若是你目標就選擇本身喜歡的模板,點擊右下角藍色的建立按鈕便可。

我選擇的是地圖分類裏面的 mind map 模板,點擊建立按鈕後 diagrams 根據個人選擇爲我打開了以下圖所示的新畫布。

畫布分爲 ABCDEF 幾個區域,它們對應的功能或者做用分別以下:

  • A - 菜單欄,可對文件或圖形進行操做;
  • B - 工具欄,可對畫布或者圖形進行操做;
  • C - 圖形欄,diagrams 爲咱們提供的基礎圖形元素和圖形元素擴展能力;
  • D - 分頁欄,能夠在單個文件裏添加多頁畫布;
  • E - 元素屬性欄,可調整圖形元素、畫布或文本元素的屬性,例如字體大小、圖形顏色、網格顯隱;
  • F - 畫布區,主區域;
⚠️ diagrams 不會自動保存畫布原文件,在建立文件後按 Ctrl+S 並根據提示選擇存儲方式和存儲路徑。選擇好原文件的存儲後,後續咱們對畫布、圖形元素和文字元素的改動它纔會自動保存。

添加多個頁面

你可能會好奇,這個分頁欄的應用場景是什麼:

  • 每一個圖一份文件,太多了!
  • 一個功能模塊(例如登陸)對應的幾個圖(例如流程設計圖、原型草稿、登陸時序圖),分開存放太難找!
  • 關聯功能互相比對,打開多個窗口太煩人!

正好,D 區分頁欄就是爲了這些需求量身定製的。你可經過點擊 D 區分頁欄的 + 號來增長畫布,也能夠經過點擊 D 區左側的菜單按鈕 + 插入頁面 來增長畫布。若是想要刪除畫布,那麼菜單按鈕 + 刪除 就能夠了。

你還能夠爲每頁畫布起名字,菜單按鈕 + 重命名。這樣在打開 diagrams 的時候就知道哪頁畫布上面畫的是什麼,不用一個個點擊去看了。

添加更多圖形

若是左側提供的基礎圖形沒法知足你的繪圖需求,或者你想要從 diagrams 提供的圖形中尋找靈感時,你能夠點擊 C 區底部的更多圖形選項,點擊後彈出以下圖所示的圖形選擇界面。

diagrams 提供瞭如安卓組件圖形、服務器組件圖形、雲原生圖形、電路圖形等數十類很是豐富的基礎圖形,找到喜歡的圖形類別後給它打上勾,接着點擊右下角的應用按鈕便可。

繪圖基本操做實踐

要想使用 C 區的圖形,咱們只須要點擊並將其拖拽到 F 區的畫布上便可,想放到那個位置就在那個位置鬆開鼠標。下圖是拖拽矩形到畫布的截圖,因爲鼠標未鬆開,畫布上只是顯示虛線的矩形,當鼠標鬆開時顯示的就是咱們拖拽的左上角那個實線矩形。

若是你想在畫布上再放置一個矩形,你能夠再次拖拽,或者用快捷鍵 Ctrl+C 和 Ctrl+V 複製剛纔那個矩形,並拖動到合適的位置。

如何表達流程

流程和方向在圖形中是一種重要的表達方式,例如一個圖形元素的箭頭指向另外一個圖形元素。在 diagrams 中,咱們只須要將鼠標移動到圖形元素上,它就會出現以下圖所示的藍色錨點淺藍色四向箭頭

四向箭頭表示這個元素能夠向四個方向移動,藍色的錨點則是此圖形元素與其餘元素關聯時的起點或終點。在上圖淺綠色圓圈蓋住的藍色點處單擊鼠標並向右拖動,便可在此錨點上生長出一個直線箭頭。將鼠標的焦點移動到右側矩形上時,右側矩形也會出現藍色錨點和四向箭頭,將鼠標焦點置於右側矩形左邊的錨點處釋放,此時畫布以下圖所示。

這樣咱們就將兩個不相關的圖形元素關聯到一塊兒了,因爲箭頭的存在,這一組圖形元素看起來像是一個短的流程。

若是你點擊一個圖形元素,它會在四周產生天藍色的圓點,點擊並拖動遠點可改變圖形元素的形狀,例如矩形的寬和高。將鼠標焦點移動到淺藍色四向箭頭上時,箭頭會變成藍色,點擊箭頭便會複製一份相同的圖形元素且以箭頭進行關聯,具體效果以下圖所示。

NPC 提示:更多操做技巧和小知識可經過親自動手得到哦。

文字與格式

文字描述自己就具有信息傳遞的屬性,將它用在圖形中會大大增長信息傳遞能力。以上圖爲基礎,鼠標雙擊矩形即可出現文字輸入框,在左邊的矩形中輸入客戶端、右邊的矩形中輸入服務端,而後將 C 區的 Text 元素拖動到直線箭頭上方並輸入請求,此時畫布以下圖所示。

明眼人一看就知道描述的是雙端網絡交互的請求過程——客戶端向服務端發出網絡請求。咱們能夠經過 E 區的文本面板調整文字格式,例如字體、加粗、斜體、文字位置、文字書寫方向、文字顏色、透明度等,還能夠爲文字加上背景色、設置邊框顏色、調整文字間距和字體大小。

元素樣式

文字有屬性,圖形元素也有屬性。選中圖形可經過 E 區的樣式面板和調整圖形面板更改圖形元素的屬性,例如調整圖形元素的顏色、更改線條風格類型、替換箭頭風格類型、爲圖形元素設置陰影、圓角直角切換、手繪風格切換和圖形層級等。瞭解到這些知識後,咱們能夠繪製一個簡單的流程圖,經過 E 區的幾個屬性面板調整元素樣式,具體效果以下圖所示。

看上去是否是比以前的圖好看多了?

元素層級與圖層層級

在實際操做中你會發現,當圖形元素重疊在一塊兒的時候,先放置的圖形元素老是處在後放置的圖形元素下方,後放置的圖形元素會擋住先放置的圖形元素。

在同一個畫布當中,圖形元素是有層級的,跟 Photoshop 畫布的層級類似,也跟咱們編程領域中的棧類似。

如上圖所示,淺藍色、淺紅色和淺綠色的圖形元素堆疊在同一個位置。因爲淺藍色圖形元素先放置,因此它在最底層。第二個放置的是淺紅色的圖形元素,它在中間層。最後放置的是淺綠色的圖形元素,因此它在最上層。能夠經過 E 區的調整圖形面板改變圖形元素的層級,或者直接在圖形元素上右鍵喚出菜單欄,選擇移至最前或則移至最後便可。下圖描述了將淺綠色圖形元素設置移動至最後屬性的位置變化。

原來的淺綠色將處於最底層,中間層則是淺藍色,以前在中間層的淺紅色如今到了最上層。

diagrams 支持相似 Photoshop 的圖層,在同一個畫布當中能夠有多個獨立的圖層。層與層之間有良好的隔離,咱們能夠將相關聯的元素放到同一層,這樣就能夠獲得像組合和鎖同樣的效果。咱們能夠在 B 區工具欄最左側開啓圖層,開啓後 F 區彈出圖層設置面板,點擊 + 號便可添加圖層。下圖展現了圖層之間的關係和圖層設置面板的一些功能。

咱們能夠爲圖層設定名稱,這有助於咱們清晰地梳理本身的構思。從圖中能夠看到正方體和矩形的位置是重疊的,但誰在上面誰在下面由圖層決定,而不是像以前同樣由拖放的前後順序或者經過調整元素層級決定,即圖層的層級優先級高於咱們設置的元素層級

若是你想刪除某個圖層,只須要選中它,而後點擊圖層設置面板左下角的垃圾桶圖標便可。

看到圖層左側的鎖圖標了嗎?它爲咱們帶來圖層級別的鎖,只要上了鎖,咱們就沒法改變該圖層任何元素的屬性、樣式、排列等,這跟咱們後面提到的元素鎖有很大的區別,圖層鎖的優先級高於元素鎖

換個角度思考,層與層之間的隔離像是編程中類的單一原則,這樣咱們就能夠用面向對象的思想進行構圖設計。若是你有開發經驗你就能夠將咱們經常聽到的 約定優於配置組合優於繼承等思想應用到繪圖這件事上。

導入圖片

Photoshop 、WPS 流程圖和 ProcessOn 都有圖片導入的功能,功能齊備的 diagrams 天然也不遜色。點擊 A 區菜單欄的調整圖形菜單,在子面板中選擇插入,再在子面板中選擇圖片便可進入圖片選擇環節,肯定選擇後圖片將會被導入到 diagrams 畫布中。

導入圖片後咱們能夠根據需求或者喜愛將圖片與 diagrams 的元素結合起來。例如導入一段代碼圖示後,使用箭頭和文字爲圖片中的代碼添加註釋,導出結果以下。

這樣看起來,是否是比在瀏覽器中直接看代碼漂亮多了?邏輯也清晰多了?

若是要考慮移動端的讀者閱讀文章,那麼用圖片代替代碼是優選方式。你想一想微信公衆號推文場景,用戶看圖片代碼會比看長串的代碼舒服太多了。

文件導出

繪製完圖以後點擊 A 區菜單欄左上角的文件,而後選擇子菜單中的導出爲,再選擇子菜單中的文件格式便可。根據你的需求,你能夠導出 PNG 格式、SVG 格式、PDF 格式甚至是 XML 格式的文件,具體界面以下圖所示。

當你選擇好格式後,它還會彈出一些選項讓你配置。例如選擇圖片格式時會彈出圖片對應的配置窗口,咱們能夠設置圖片縮放比例、圖片邊框寬度、是否將網格效果一併導出、是否將陰影效果一併導出導出當前文件的單頁或指定頁內容、是否採用透明背景等,具體界面以下圖所示。

配置之豐富使人滿意。另外,若是你繪製的圖用於印刷,那麼它也能知足你對高 DPI 的需求。導出時再子菜單中選擇高級選項會彈出入下圖所示的配置界面。

在這裏咱們就能夠設置想要的 DPI 了。海報、宣傳單和圖書印刷的 DPI 值一般是 300,若是你追求更好的效果,它也容許你設置更大的值。

填寫好配置後點擊右下角的導出按鈕,按照指引選擇文件存放位置便可。值得一提的是,導出速度至關快,正常大小的圖導出速度在 1 秒內,圖形元素較多的圖或者 DPI 值較大的圖導出速度可能會超過 1 秒,但也慢不到哪裏去。

繪圖操做進階

通過上面的學習,你已經掌握了 diagrams 桌面應用的基本操做,還懂得爲元素設置屬性和不一樣的樣式。但要想輕鬆完成繪圖且繪製出更好看的圖,還須要學習一些操做技巧。

多元素自動對齊

畫布沒有自動定位和元素對齊功能,在放置多個元素後,咱們頗有可能須要將它們對齊,以保持美觀和專業。經常使用的對齊有向上對齊、向下對齊、垂直居中、左對齊、右對齊和水平居中等。

見名知意,向上對齊、向下對齊和垂直居中指的是多個元素對齊時全部元素參照最上、最下或者中間元素的位置對齊,而左對齊、右對齊和水平居中則是全部元素參照最左、最右或者中間元素的位置對齊。下圖描述了多個高度不一致的元素採用向上對齊的先後對比。

能夠看到,對齊後的全部元素參照的是對齊前最上的位置。若是你對它的對齊邏輯仍是不太理解,建議你親自動手操做一下,聰明的你在幾分鐘就可以掌握對齊規則。

多元素等距排列

不少時候咱們須要在水平方向或者垂直方向放置多個元素,本着專業且美觀的出發點,咱們會要求元素們等距排列。這樣的需求一般有兩種辦法:

一、藉助頁面網格能夠作到視覺上的等距,例如元素之間間隔 1 個網格;

二、藉助菜單欄中的等距分佈選項;

在多個元素相同且大小一致的時候,採用第 1 種方法也是很直接有效的,但若是元素大小不一或者形狀各不相同,那就不太好操做了。第 2 種方法是藉助 diagrams 專門爲用戶提供的等距排列工具,只須要選中想要排列的多個元素,而後點擊菜單欄中的調整圖形並在子菜單中選擇等距分佈,而後按需選擇水平方向或者垂直方向便可。第 2 種方法能夠忽略元素大小和形狀,達到等距排列的目的。多元素水平方向等距排列的具體操做和排列結果以下圖所示。

要注意的是,等距分佈功能選擇的間隔距離是以多個元素佔用的總距離進行平均劃分的,並非根據兩個元素之間的最小距離或者最大距離進行劃分。

多元素組合

在畫布中,可操做的最小單位是 1 個元素。若是咱們想要操做多個元素,那麼就須要選中它們,再執行例如拖拽、改變大小、改變屬性等操做。可是在元素繁多且結構複雜的畫布中,當你須要將相關聯的多個元素拖動到另外一個位置的時候,很容易誤選其餘元素或者漏掉某個元素,這給咱們形成了一些小麻煩。

選中想要組合的元素後點擊菜單欄的調整圖形選項,在彈出的子菜單中選擇組合便可。上圖給出了組合先後的對比,能夠看出組合前的可操做單位是單個元素,組合後可操做單位變成了一組元素。若是你想解散某個組合,那麼選擇組合後經過菜單欄中的調整圖形>取消組合就能夠將它們打散。

看到子菜單中的 移除組合了嗎?動手試試,看看它有什麼做用。

多元素旋轉

單個元素的旋轉很簡單,選中元素後元素的右上角會出現一個可旋轉的圖標,鼠標懸停在旋轉圖標後按下並調整角度即可實現元素的旋轉。多個元素的旋轉有兩種辦法:

一、元素組合,將多個元素變成一個可操做單位,此時一組元素和單個元素的旋轉操做相同;

二、選中多個元素,經過調整圖形>方向>旋轉調整角度,可輸入準確的旋轉角度值;

兩種方法的應用場景各不相同,你們使用的時候根據需求選擇便可。下圖描述了第 2 種方法的具體操做和旋轉結果。

旋轉選項在 A 區菜單欄的 調整圖形> 方向菜單中。

元素鎖

鎖在編程中有不少應用場景,在 diagrams 中咱們能夠藉助鎖這個工具保護元素或組合,避免在誤操做等場景改變原有的元素或組合的內容、排列方式和所在畫布的位置等。元素的上鎖解鎖在 A 區菜單欄的編輯菜單下,鎖定和解鎖處於同一個選項。下圖描述了元素上鎖先後的差別。

鎖定前元素具有可操做屬性,選中後能夠改變其樣式、大小等。鎖定後元素不具有可操做屬性,咱們沒法調整內容、排列方式和所在畫布的位置,也無法刪除這個元素或者組合。要注意的是,上鎖後仍然能夠改變單個元素的樣式,例如顏色和線條類型。

在畫布中查找

在一個原文件中可能有多個元素或者多組元素,查找功能能夠幫助咱們快速定位到指定的元素或組合。查找的對象只能是文字元素,沒法查找圖形元素。查找功能在 A 區的編輯菜單下,選擇查找功能後會在 F 區彈出一個查找選項窗口,咱們能夠根據本身的需求設定查找條件。值得一提的是,它支持全部頁面的查找,這簡直太棒了!下圖描述了查找功能的使用和查找結果的展現。

查找到相關文字後會定位到該元素或組合,無需咱們手動定位。在有多個符合條件的場景中,能夠經過查找按鈕在多個相關結果之間跳轉。

配色和風格讓圖形更具表現力

人靠衣裝馬靠鞍,優秀的配色和風格選擇不只能增長圖的表現力,還能讓你和你的團隊看起來更專業。逼格高對於業務發展和團隊形象也是頗有幫助的,若是你畫的圖一團糟,而競爭對手畫的圖卻顯得很專業,別人能比你多收幾萬塊不是沒有道理的。

能改變映像的手繪風格

相比於工具自帶的那些直來直去的圖形元素來講,手繪風格給人一種親近、溫馨、用心的感受,從下面這張圖裏感覺一下。不得不說,手繪風格配網格底紋就像火鍋配牛肚,舒坦!

因爲它具有這些貼近閱讀者的屬性,因此手繪風格成爲了如今 IT 領域知識付費專欄或者教學素材中經常使用的風格之一,在極客時間專欄中得以大量應用,在 IT 類的書籍中也頻頻登場。

在 diagrams 實現手繪風格很簡單,選中元素後在右側 E 區的樣式面板中勾選手繪便可。要注意的是,有一部分基礎圖形是不支持手繪風格的,因此在繪圖時要選擇支持手繪風格的圖形元素,這樣就可以保持總體風格統一。

能加強效果的陰影

陰影一直都是圖像設計中重要的一種效果加強方。我不是專業的設計人員,所以沒法給出專業的建議或者見解,但我能夠從視覺的角度描述陰影的做用和它所呈現出來的效果。

上圖由一列手機圖形元素和一個顯示器圖形元素構成,左側 5 部手機圖形和第 6 部帶有陰影和配色的手機看起來是否是徹底不同,有沒有一種躍然於紙上的感受?這很像現代 IPS 硬屏顯示器和前些年普通顯示器的差距,你感受它浮在上面,離你很近。

最右側的顯示器圖形也設置了陰影,這讓它看上去更立體,像不像是 2.5D 的圖形?

光和影在設計領域一直都是至關重要的,利用好光和影可以讓事物更有活力、更形象、更立體。上面的顯示器圖形只是光和影運用中最簡單的一種,咱們拋開開發者的身份,欣賞一下設計師們的做品。

雖然這些都是平面設計,但在視覺上它們倒是立體的,並且還具有很強的空間感。這是一種普通開發者難以描述的美感,真的很好看,不是嗎?

配色知識

說到圖,那就必定得聊聊配色。我以爲色彩是人類感知世界多元化的一種途徑,好的色彩搭配會讓咱們以爲心曠神怡,但糟糕的配色會引發咱們的反感。下面兩幅圖,一副用了總體色調相近的淺色,一副用了總體色調差別較大的深淺混搭,你以爲哪幅圖看着舒服一些?

雖然這會受到我的傾向和風格影響,但我以爲大部分讀者會認爲第一幅圖看上去更清爽舒服,第二幅圖濃墨重彩不太搭。跟上面聊陰影是同樣的,我不是專業的設計師,沒法給出專業的建議和見解,但這裏準備了一些設計網站上關於配色的文章,你們可做爲參考:

漲姿式!爲何有的顏色看起來很是高檔?

設計師的讀書筆記!帶你從新全面認識色彩系列之紅色篇

所謂配色達人,就是一次出48個方案

那些用色高手,都作過這些訓練!

你的配色看起來老是不舒服?用這個策略性配色法則

裏面提到了不少關於色彩搭配的技巧和策略,你們不妨去學習學習,這樣你就能繪製出更美的圖,並且對本身的審美提高也會有很大幫助哦。文章中提到的一些配色和策略截圖以下,具體還需你親自去閱讀哦。

配色工具

相信你從上面推薦的配色文章中收穫了很多知識,在實際應用中咱們還須要一些輔助工具來提高設計效率或者進行一些配色測試、配色比對。你看看人家設計的圖,和你設計的是否是有很大差別?

若是是的話,趕忙去學習吧!個人建議仍是向專業人士看齊

講真,這多是目前最全的在線配色工具合集了

業界良心!2015年最優秀的20款網站配色方案(附配色工具)

第一波!2020年3月超實用設計工具大合集

16款激發靈感的配色神器,讓你的創意更出彩!

9款關於配色、PS和網站風格的設計工具,超級實用

繪圖實戰

能看到這裏的讀者,我想確定是但願可以切實提升本身的繪圖水平的,並非蜻蜓點水的泛泛之輩。接下來我將以演進的方式手把手帶你繪製開發過程當中經常使用的那些圖,若是你想深刻學習 UML 圖的繪製,能夠訪問個人我的站點——夜幕鎮嶽劍韋世東的技術日誌,上面還有不少免費公開優秀技術專欄呢。

繪製汽車解鎖時序圖

時序圖是咱們在程序設計階段經常使用的一種 UML 交互圖,它經過描述對象之間發送消息的時間順序顯示多個對象之間的動態協做。它能夠表示用例的行爲順序,當執行一個用例行爲時,其中的每條消息對應一個類操做或狀態機中引發轉換的觸發事件。

這裏以汽車鑰匙的上鎖和解鎖過程爲例,繪製一幅時序圖。首先捋清楚參與其中的幾個角色:鑰匙擁有者、鑰匙、車,由此咱們能夠畫出以下圖所示的基本結構。

而後咱們捋一捋上鎖和解鎖的過程,鑰匙擁有者按下鑰匙上的按鍵,車鑰匙經過信號將鎖信號傳遞給汽車,汽車根據鎖的原狀態做對應狀態切換,從而實現上鎖和解鎖的目的。下圖描述了從鑰匙擁有者按下鎖按鍵到汽車改變鎖狀態的時序。

在實際生活中,咱們知道汽車鎖狀態改變時會發出信號以表示此次操做成功了,相似於 TCP 協議中的 ACK。汽車發出的信號一般是燈光或聲音,信號的實際接收者是按下鎖按鍵的鑰匙擁有者,由此咱們能夠再完善一下這幅時序圖。

上圖就是完整的汽車上鎖和解鎖時序圖,你學會了嗎?

小提示:在表達時序圖角色時,冒號左邊描述的是角色名稱、右側描述的是角色,若是冒號左邊沒有內容則表明這是一個匿名角色。若是想要更具體一些,能夠改成「韋世東:鑰匙擁有者」、「奔馳:汽車」。

繪製流式處理流程圖

配色知識那個小節中用到的圖示描述的就是流式處理,在 Kafka 流式處理的思想中(我沒看過 Spark 和 Flink 的模型),流式處理是一端做爲起始輸入、一端做爲最終輸出、中間能夠有多個處理環節的一種組合。由此咱們能夠畫出以下圖所示的基本結構。

而後在中間放置多個處理環節,這些處理環節實際上就是一個個程序,它們從 Kafka 中獲取數據,處理完成後又放回去。

上圖就是完整的流式處理流程圖,你學會了嗎?

繪製移動端應用分層架構圖

相對於單個模塊的時序圖和簡單環節的流程圖而言,Web 應用分層架構更復雜,須要的圖形也更多。假設咱們要用圖表達一款移動端應用的架構圖,要清晰有條理地展示出整個系統的最大執行單元之間的關係,你會怎麼作呢?

在已知需求和功能模塊的狀況下,咱們要作的第一件事就是分層。分層不只能在繪圖中發揮重要做用,在軟件開發和設計中也是十分重要的,它可以讓執行單元之間的責任更清晰明確。咱們先來簡單粗略的劃分一下:

  1. 能爲用戶提供服務的視爲應用層;
  2. 負責存儲應用數據的視爲存儲層;

由此咱們能夠畫出以下圖所示的基本結構。

再來看看實際開發中是否須要加入其餘組件,例如提高查詢性能的緩存削峯填谷的消息隊列、負責請求轉發的網關等,加上這些組件後圖就變成了下面這樣。

這裏你沒必要深究每一個層級的具體劃分和層級名稱,咱們先把結構畫出來。想想,好像還須要加上監控。監控對整個工程鏈路負責,它是一套單獨的組件,不參與分層,放到側面表示會更合適。後端的整個結構就出來了,這裏咱們順便把用戶端也補上。

接下來咱們將具體的應用補充進來,讓整個程序看起來更豐滿、更完整。

接着讓咱們表達出更貼近真實場景的效果,假設服務基於 Kubernetes、Redis 採用集羣和、MySQL 也採用集羣,那麼咱們能夠爲它們加上貼切的圖標。

一些漂亮的圖形能夠在 C 區 更多圖形處添加,上圖的手機圖形也是這樣添加進來的。

這樣看上去清晰多了,固然,咱們還能夠爲這些層級或者組件設置底色,用配色加強它們的表現力。

小結

看完這篇文章,想必你已經清晰地瞭解到繪圖這件事在程序設計你的工程師職業生涯中能發揮出的做用有多重要了。

咱們如今再回顧一下前面所學到的知識:

在學習完繪圖基本操做以後,你學了自動排列、多元素組合、自動對齊和元素鎖等知識,如今你的繪圖效率比以前高不少。

接着,你又瞭解到了風格對讀者的影響,並學會了使用手繪風格。在配色方面,你去閱讀了設計領域的一些專業文章,瞭解到不一樣場景、不一樣配色帶來的視覺差別,這直接提高了你繪圖的逼格。

最後,你跟着實際需求的分析和假設,動手實踐繪製了汽車解鎖時序圖、流式處理流程圖和移動端應用分層架構圖。

如今你已經擁有了本身的繪圖思想,並掌握了繪圖操做。接下來只須要多加練習,將這些技能融入到平常工做當中,相信你必定可以取得更好的成績,設計出更貼近業務、更美觀的圖。

相關文章
相關標籤/搜索