讀古今文學網 > 程序員必讀之軟件架構 > 動機 >

動機

把你的軟件系統分解成多個組件,這在軟件設計中比類和代碼的抽像層次略高。審計組件可能是用連接了日誌框架(比如,log4j、log4net等)的某個類實現,但把它當作一個單獨的組件來對待,也可以讓你看到它是什麼,它是你的架構中的結構單元。在這一層次工作,對於瞭解你的系統內部結構是一個很好的方式,哪裡可以復用、哪裡有組件之間的依賴、哪裡有組件和容器間的依賴,等等。把整個問題分解為若干個獨立的部分,也為你開始做一些高層次預估提供了基礎,如果你曾經被要求對一個新項目做大概的預估,這就非常棒。

組件圖展示了駐留在每個容器中的邏輯組件。這很有用,因為:

  • 展示了在高層次上將你的軟件系統分解為職責不同的組件;
  • 展示了組件之間的關係和依賴;
  • 為軟件開發的高層次預估和如何分解交付提供了一個框架。

在這個抽像層次上設計一個軟件系統,完全可以在數小時或數天內完成,而無需幾周或幾個月。它也為你做好了準備,可以在類和接口的層次上設計/編碼而無需擔心整體高層次結構。