視圖法和維度法,思考軟體架構

來源:互聯網
上載者:User

通過一組視圖來描述架構,這種方式是否合理呢?這種視圖相當於事物的橫切面,通過在不同方位進行橫切所得到橫切面來列舉架構,似乎是不夠合理的,因為橫切面隨著系統複雜度的增加,其橫切面就越多。同行的類圖+活動圖表+順序圖表+狀態圖+元件圖表+部署圖,或者其他此類的視圖分類方法,例如SUP4+1視圖,局限於已有的幾種橫切面,是否足夠呢?

 

橫切面的做法是好的,但是只要能夠列舉所有的橫切面,那麼該設計就足夠全面了,否則在開發階段還是會不斷的做很多挑戰、改動,所有編碼階段的挑戰和改動,如果不是因為需求變動而引起的話,那麼就是由於設計時考慮不周引起的,如果你按照這些常見的橫切面做了,依舊不可避免在編碼階段做一些調整,那麼就說明你的設計不夠完整,橫切面列舉的不夠。

 

軟體如物體,有不同的維度。物體有三維,軟體的維度更多,最基本的幾個維度有可用性,可靠性,健壯性,可重用性,延展性。基於這幾個維度來考慮軟體架構,如從外部來看一個物體,“橫看成嶺側成峰,遠近高低各不同”,這種考慮架構的視角和橫切面(視圖)的方法相比,有明顯的不同,視圖法是關注於架構的內部構造及實現方式,而維度法則是從整體上來審視軟體。如果前者是戰術的角度的話,那麼維度法的角度則是戰略的角度。

 

通過兩種角度的結合,將能夠很好的捕捉軟體架構的方方面面。架構不僅是術,更是思考的過程,雖有模式可套用,但調整的過程依舊需要基於實際需要的思考過程。維度和橫切面,兩種思考方式相結合,有助於我們理解軟體架構,理解軟體架構的方法和本質。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.