精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
架構師必備技能

前言

作為一個架構師,主要的職責就是做全局的技術規(guī)范,建立同一的規(guī)范,建立完備的基礎構建,這一切都要落地,也要讓一個項目里面的產品、開發(fā)都建立共識,明白架構的設計理念。

而架構圖就是這樣一個工具,可以很好地表達出架構師的設計,讓項目內的人都能達成共識,并且按照設計的架構進行開發(fā)。

架構圖

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

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

C4模型包含4種核心圖和3張擴展圖可以讓我們更容易地畫出更好的架構圖

C4

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

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

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

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

Container diagram(容器圖)

有了上下文圖,我們可以知道我們的系統(tǒng)和外部系統(tǒng)以及用戶是怎么交互的,接下來就是需要把我們的系統(tǒng)進一步展開,相當于是把上一張圖中互聯網銀行系統(tǒng)進行展開,這就是容器圖,展現了軟件系統(tǒng)的整體架構以及職責的分布,同時也顯示了主要技術的選擇以及容器和容器之間,容器和其他系統(tǒng)之間的交互方式。

該圖是可以給內部技術人員、外部技術人員和運維人員看的。

Component diagram(組件圖)

組件圖就是把一個容器中的組件進行展開,容器是由哪些組件組成的以及組件之間的關系。

這個圖主要是給內部技術人員看的。

Code(代碼)

每個組件都有實現的代碼,可以使用UML類圖和展現。該圖就是UML圖了,主要是給內部技術人員看。

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

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

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

Dynamic diagram(動態(tài)圖)

動態(tài)圖很像UML的時序圖,表達系統(tǒng)元素之間的調用關系展示你的用例和故事。

Deployment diagram(部署圖)

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

C4總結

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

總結

本文主要介紹了使用C4方法怎么去畫架構圖。架構圖一定要清晰,讓人很容易理解。并且不是一定要把所有的圖都畫出來,針對不同的人有不同的圖。

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

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
架構制圖:工具與方法論
怎么畫出好的架構圖,架構師必備
如何畫出一張優(yōu)秀的架構圖?(老鳥必備)
吃透8圖1模板,人人可以做架構
第五課時:PowerDesigner15十大模型總覽
面向對象的分析設計之UML基礎
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服

主站蜘蛛池模板: 黄骅市| 唐河县| 抚州市| 贵港市| 芜湖市| 惠水县| 黄山市| 剑川县| 五原县| 全州县| 西藏| 剑河县| 微博| 巩义市| 韩城市| 顺义区| 金山区| 定陶县| 万源市| 青河县| 密云县| 乌恰县| 德安县| 海丰县| 林周县| 凤翔县| 吉木萨尔县| 竹山县| 当雄县| 祁阳县| 文昌市| 柞水县| 宝鸡市| 襄樊市| 霍林郭勒市| 叙永县| 潼南县| 神农架林区| 桐梓县| 龙川县| 陈巴尔虎旗|