一文打盡讓架構(gòu)師頭禿的架構(gòu)圖!!

作者?|?三畫
來源 |?阿里巴巴云原生
當(dāng)我們想用一張或幾張圖來描述我們的系統(tǒng)時(shí),是不是經(jīng)常遇到以下情況:
對著畫布無從下手、刪了又來? 用一張圖描述我的系統(tǒng),并且讓產(chǎn)品、運(yùn)營、開發(fā)都能看明白? 畫了一半的圖還不清楚受眾是誰? 畫出來的圖到底是產(chǎn)品圖功能圖還是技術(shù)圖又或是大雜燴? 圖上的框框有點(diǎn)少是不是要找點(diǎn)兒框框加進(jìn)來? 布局怎么畫都不滿意……
先理清一些基礎(chǔ)概念
1. 什么是架構(gòu)
2. 什么是架構(gòu)圖
3. 架構(gòu)圖的作用
解決溝通障礙 達(dá)成共識 減少歧義
4. 架構(gòu)圖分類
場景視圖

邏輯視圖
物理視圖
處理流程視圖
開發(fā)視圖

怎樣的架構(gòu)圖是好的架構(gòu)圖
畫架構(gòu)圖遇到的常見問題
1. 方框代表什么?
2. 虛線、實(shí)線什么意思?箭頭什么意思?顏色什么意思?

3. 運(yùn)行時(shí)與編譯時(shí)沖突?層級沖突?

本文推薦的畫圖方法

1. 語境圖(System Context Diagram)

用途
構(gòu)建的系統(tǒng)是什么 誰會用它 如何融入已有的IT環(huán)境
怎么畫
2. 容器圖(Container Diagram)
用途
展現(xiàn)了軟件系統(tǒng)的整體形態(tài) 體現(xiàn)了高層次的技術(shù)決策 系統(tǒng)中的職責(zé)是如何分布的,容器間的是如何交互的 告訴開發(fā)者在哪里寫代碼
怎么畫
3. 組件圖(Component Diagram)

用途
描述了系統(tǒng)由哪些組件/服務(wù)組成 厘清了組件之間的關(guān)系和依賴 為軟件開發(fā)如何分解交付提供了框架
4. 類圖(Code/Class Diagram)

案例分享

畫好架構(gòu)圖可能有許多方法論,本篇主要介紹了C4這種方法,C4的理論也是不斷進(jìn)化的。但不論是哪種畫圖方法論,我們回到畫圖初衷,更好的交流,我們在畫的過程中不必被條條框框所限制。簡而言之,畫之前想好:畫圖給誰看,看什么,怎么樣不解釋就看懂。
來篇硬貨!!深度介紹分布式系統(tǒng)原理與設(shè)計(jì)
70 張圖帶你徹底掌握這個(gè)數(shù)據(jù)結(jié)構(gòu)!!
評論
圖片
表情



