有关架构图你需要了解的基础知识
一、什么是架構(gòu)圖?
架構(gòu)從字面意思上,是源于古代的建筑術(shù)語。把架構(gòu)拆分成兩個(gè)字“架”和“構(gòu)”。“架”是“加”和“木”的結(jié)合,把木頭加起來、連接起來就是架。“構(gòu)”就是結(jié)構(gòu)的意思。所以,“架構(gòu)”就是把“木“按照一定的結(jié)構(gòu)連接起來。
對應(yīng)到軟件架構(gòu),這里面的“木”代表什么,軟件架構(gòu)中的“結(jié)構(gòu)”是什么,這些軟件系統(tǒng)的“木”又是如何連接的?
-
關(guān)聯(lián)到軟件領(lǐng)域,木就是系統(tǒng)中的要素,我們將他們稱之為架構(gòu)要素。架構(gòu)要素可以是子系統(tǒng)、模塊、應(yīng)用服務(wù)。
-
結(jié)構(gòu),是架構(gòu)的產(chǎn)物。不同的軟件系統(tǒng)會有不同的結(jié)構(gòu),這些結(jié)構(gòu)是為解決不同場景而設(shè)計(jì)的。
-
連接,通過定義架構(gòu)元素之間的接口和交互關(guān)系、集成機(jī)制,實(shí)現(xiàn)架構(gòu)元素之間的連接。連接可以是分布式調(diào)用、進(jìn)程間調(diào)用、組件之間的交互關(guān)系等。
架構(gòu)是一種整體與局部關(guān)系的抽象描述,架構(gòu)圖是將軟件所有的需求進(jìn)行宏觀地、系統(tǒng)地、抽象地描述,并通過圖形的顏色以及結(jié)構(gòu)設(shè)計(jì)展示出來。
二、為什么要畫構(gòu)圖?
一圖勝千言。要讓人理解、遵循架構(gòu)決策,就需要把架構(gòu)信息傳遞出去。架構(gòu)圖就是一個(gè)很好的載體,那么,畫架構(gòu)圖是為了:
-
解決溝通障礙
-
達(dá)成共識
-
減少歧義
-
進(jìn)行模塊化,抽象化的系統(tǒng)開發(fā)
-
實(shí)現(xiàn)系統(tǒng)的可復(fù)用性、可拓展性
三、由誰來畫?
架構(gòu)圖是由架構(gòu)師進(jìn)行需求分析和業(yè)務(wù)抽象所畫的結(jié)果。
四、什么時(shí)間畫?
架構(gòu)圖不僅僅包括業(yè)務(wù)架構(gòu)圖,還包括技術(shù)架構(gòu)圖和運(yùn)維架構(gòu)圖等。不同的架構(gòu)圖在不同的階段進(jìn)行繪制:
- 需求分析之后繪制業(yè)務(wù)架構(gòu)圖
- 開發(fā)前繪制技術(shù)架構(gòu)圖、運(yùn)維架構(gòu)圖
- 系統(tǒng)部署上線前,完善運(yùn)維架構(gòu)圖
在復(fù)雜項(xiàng)目開始前畫,當(dāng)你覺得是該畫的時(shí)候畫。
五、怎么畫?
1.從全局上看:
(1)結(jié)構(gòu)分級
- 縱向:要有分層的概念,整體上要有層次感,上層依賴于下層,越底層,越是基礎(chǔ)服務(wù),更為重要;
- 橫向:并列結(jié)構(gòu),同等級別;
- 對稱:要講究對稱美,盡可能地功能結(jié)構(gòu)分配均勻;
- 虛線框和實(shí)線框的使用:多個(gè)模塊,邏輯上可以歸為一塊時(shí)可以使用虛線框;
(2)色彩搭配
- 顏色搭配要有所區(qū)分,不同層級、不同類型要顏色不同,但是也不能太跳脫,整體上顏色風(fēng)格要一致,整體上要符合大眾的審美風(fēng)格。
2.從局部上分析:
- 大小、格式:要注意大小一致,格式統(tǒng)一;
- 模塊劃分粒度:細(xì)節(jié)要進(jìn)行抽象,抽象出模塊,模塊的粒度要合適,不可太具體,也不可太寬泛;
- 模塊分級擺放:同一個(gè)級別的模塊要統(tǒng)一級別,粒度大小要統(tǒng)一;
- 詞匯描述:用詞準(zhǔn)確,可以讓開發(fā)人員或者用戶理解描述的意思;
- 命名統(tǒng)一:命名統(tǒng)一,英文名體現(xiàn)專業(yè)性,命名要盡可能使用短名稱且一致。
總結(jié)
以上是生活随笔為你收集整理的有关架构图你需要了解的基础知识的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 虚拟化、完全虚拟化、半虚拟化和准虚拟化技
- 下一篇: 不能不知道的Docker知识