日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

架構(gòu)師必備技能

 timtxu 2019-08-24

前言

作為一個(gè)架構(gòu)師,主要的職責(zé)就是做全局的技術(shù)規(guī)范,建立同一的規(guī)范,建立完備的基礎(chǔ)構(gòu)建,這一切都要落地,也要讓一個(gè)項(xiàng)目里面的產(chǎn)品、開(kāi)發(fā)都建立共識(shí),明白架構(gòu)的設(shè)計(jì)理念。

而架構(gòu)圖就是這樣一個(gè)工具,可以很好地表達(dá)出架構(gòu)師的設(shè)計(jì),讓項(xiàng)目?jī)?nèi)的人都能達(dá)成共識(shí),并且按照設(shè)計(jì)的架構(gòu)進(jìn)行開(kāi)發(fā)。

架構(gòu)圖

架構(gòu)圖不是一張圖一個(gè)角度就能描述清楚的。4+1視圖是一種經(jīng)典的視圖模型,包含場(chǎng)景視圖,邏輯視圖,物理視圖,處理流程視圖和開(kāi)發(fā)視圖,5個(gè)視圖結(jié)合起來(lái)才能反映整個(gè)系統(tǒng)的架構(gòu)。這里就不具體介紹4+1視圖了,下面會(huì)介紹C4模型,一種更直觀,更容易理解的模型。

這里明確下我們畫(huà)架構(gòu)圖的目的是為了讓清晰的展現(xiàn)我們系統(tǒng)的設(shè)計(jì),讓組內(nèi)人員更容易溝通,架構(gòu)圖也分很多種信息,不同的人可能需要不同的角度,所有我們畫(huà)哪一種圖,首先得明白什么圖是給什么人看的,搞清楚目的了,那我們應(yīng)該怎么去畫(huà)了,一個(gè)好的架構(gòu)圖應(yīng)該是可以自描述的,讓人一看就懂,如果不是,那就是沒(méi)有畫(huà)清楚。

C4模型包含4種核心圖和3張擴(kuò)展圖可以讓我們更容易地畫(huà)出更好的架構(gòu)圖

C4

架構(gòu)師必備技能--畫(huà)好架構(gòu)圖

C4(https://),從上圖中可以看到是由容器、組件和代碼描述一個(gè)系統(tǒng)的靜態(tài)結(jié)構(gòu)。一個(gè)系統(tǒng)由多個(gè)容器組成,一個(gè)容器由多個(gè)組件組成,一個(gè)組件由多個(gè)代碼組件。

System Context diagram(系統(tǒng)上下文圖)

架構(gòu)師必備技能--畫(huà)好架構(gòu)圖

系統(tǒng)上下文圖是對(duì)一個(gè)軟件系統(tǒng)很好的一個(gè)開(kāi)始的圖,可以看到整個(gè)系統(tǒng)的全貌。該圖是可以給非技術(shù)人員、技術(shù)人員和外部人員看的。該圖畫(huà)法也很簡(jiǎn)單:把你自己的系統(tǒng)放在中間,然后被用戶和其他需要交互的系統(tǒng)圍繞在你系統(tǒng)身邊就可以了。

上圖藍(lán)色的就是一個(gè)互聯(lián)網(wǎng)銀行系統(tǒng)(Internet Banking Systen)放在中間,上面是用戶(Personal Banking Customer)使用互聯(lián)網(wǎng)銀行系統(tǒng),銀行系統(tǒng)又調(diào)用外部的大型銀行系統(tǒng),并調(diào)用郵件系統(tǒng)向用戶發(fā)送郵件。

Container diagram(容器圖)

架構(gòu)師必備技能--畫(huà)好架構(gòu)圖

有了上下文圖,我們可以知道我們的系統(tǒng)和外部系統(tǒng)以及用戶是怎么交互的,接下來(lái)就是需要把我們的系統(tǒng)進(jìn)一步展開(kāi),相當(dāng)于是把上一張圖中互聯(lián)網(wǎng)銀行系統(tǒng)進(jìn)行展開(kāi),這就是容器圖,展現(xiàn)了軟件系統(tǒng)的整體架構(gòu)以及職責(zé)的分布,同時(shí)也顯示了主要技術(shù)的選擇以及容器和容器之間,容器和其他系統(tǒng)之間的交互方式。

該圖是可以給內(nèi)部技術(shù)人員、外部技術(shù)人員和運(yùn)維人員看的。

Component diagram(組件圖)

架構(gòu)師必備技能--畫(huà)好架構(gòu)圖

組件圖就是把一個(gè)容器中的組件進(jìn)行展開(kāi),容器是由哪些組件組成的以及組件之間的關(guān)系。

這個(gè)圖主要是給內(nèi)部技術(shù)人員看的。

Code(代碼)

架構(gòu)師必備技能--畫(huà)好架構(gòu)圖

每個(gè)組件都有實(shí)現(xiàn)的代碼,可以使用UML類圖和展現(xiàn)。該圖就是UML圖了,主要是給內(nèi)部技術(shù)人員看。

還有三種擴(kuò)展圖可以從其他視角對(duì)系統(tǒng)進(jìn)行展示:

System Landscape diagram(系統(tǒng)全景圖)

架構(gòu)師必備技能--畫(huà)好架構(gòu)圖

這張圖和系統(tǒng)上下文圖差不多,不過(guò)比系統(tǒng)上下文更詳細(xì),展示了一個(gè)企業(yè)里面軟件系統(tǒng)的集合。這樣更容易理解企業(yè)各個(gè)系統(tǒng)之間的邊界,從IT的視角展示了系統(tǒng)的全景。

Dynamic diagram(動(dòng)態(tài)圖)

架構(gòu)師必備技能--畫(huà)好架構(gòu)圖

動(dòng)態(tài)圖很像UML的時(shí)序圖,表達(dá)系統(tǒng)元素之間的調(diào)用關(guān)系展示你的用例和故事。

Deployment diagram(部署圖)

架構(gòu)師必備技能--畫(huà)好架構(gòu)圖

部署圖是基于UML部署圖的,展示了容器是怎么部署到部署節(jié)點(diǎn)中的。部署節(jié)點(diǎn)可以是物理基礎(chǔ)設(shè)施(例如物理服務(wù)器或設(shè)備)、虛擬化基礎(chǔ)設(shè)施(例如IaaS、PaaS、虛擬機(jī))、容器(例如Docker)、執(zhí)行環(huán)境(例如數(shù)據(jù)庫(kù)服務(wù)器、JavaEE Web /應(yīng)用服務(wù)器),可以嵌套部署節(jié)點(diǎn)。部署圖對(duì)運(yùn)維人員是很重要的。

C4總結(jié)

C4的圖就是上面這些了。還有一些是需要注意的,就是怎么畫(huà),什么顏色,什么形狀(圓的、方的)、虛線、實(shí)線。C4并沒(méi)有規(guī)定任何特定的符號(hào),官網(wǎng)上有一些建議,這里就不具體說(shuō)了,大家可以去官網(wǎng)看看。

總結(jié)

本文主要介紹了使用C4方法怎么去畫(huà)架構(gòu)圖。架構(gòu)圖一定要清晰,讓人很容易理解。并且不是一定要把所有的圖都畫(huà)出來(lái),針對(duì)不同的人有不同的圖。

希望對(duì)大家有所幫助,有幫助記得點(diǎn)贊哦!可以關(guān)注下,后面持續(xù)分享技術(shù)文章,謝謝!

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多