讀古今文學網 > 程序員必讀之軟件架構 > 第35章 C4:語境、容器、組件和類 >

第35章 C4:語境、容器、組件和類

在任何軟件系統的開發週期內,代碼都是最受關注的部分。這很正常,因為最終交付的只有代碼。但如果要向別人解釋系統如何工作,你會一來就說代碼嗎?

可惜,代碼並非全部 。在缺少文檔的情況下,人們通常會在白板或紙上畫框線,來解釋哪些是主要的結構單元以及它們如何相互連接。用圖片描述軟件時,我們會傾向於製作一個超級圖,盡可能多地把各個抽像層次的細節都塞進去。這可能是因為我們在預設問題,或者有點過於關注系統在代碼層面的運行細節。這樣的圖往往亂成一團,既複雜又令人費解。選擇一個Microsoft Visio、Rational Software Architect或Sparx Enterprise Architect之類的工具,不但不會讓事情變得簡單,往往更複雜。

更好的方法是製作一些抽像層次各異的圖。比起一張試圖講清所有事情的複雜圖,多張簡單圖可以更有效地描述軟件。