讀古今文學網 > 程序員必讀之軟件架構 > 關於軟件架構,每個開發者都應該知道的五件事 >

關於軟件架構,每個開發者都應該知道的五件事

為了幫助你大致瞭解本書的內容,這裡有每個開發者都應該知道的五件有關軟件架構的事。

1. 軟件架構不是大型預先設計

軟件架構歷來被認為跟大型預先設計和瀑布式項目有關,團隊要周全地考慮軟件設計的所有細節,然後才開始編碼。軟件架構就是關於軟件系統的高層次結構,以及你如何理解它。它是影響軟件系統形態的重要決策,而非理解數據庫每個字段應該有多長。

2. 每個軟件團隊都需要考慮軟件架構

不論產品的大小和複雜性,每個軟件團隊都需要考慮軟件架構。為什麼?簡單地說,尚未發生的壞事往往都會發生!如果軟件架構是關於結構和願景的,不考慮這一點就可能產出結構糟糕、內部不一致的軟件系統。這樣的軟件系統難以理解和維護,很可能無法滿足一些重要的非功能需求,比如性能、可伸縮性或安全性。明確地考慮軟件架構,提供了一種引入技術領導的方式,增加成功交付的勝算也對你有益。

3. 軟件架構的角色關乎編碼、指導和合作

很多人對軟件架構師的印象還很老套,以為就是「象牙塔」軟件架構師向毫不知情的開發團隊面授機宜。其實並非如此,因為現代軟件建構更傾向於成為一種有利於編碼、指導和協同設計的方法。軟件架構的角色不一定要由一個人來承擔,而且要瞭解得到的架構是否確實行得通,編碼是非常好的方式。

4. 無需使用UML

同樣地,傳統觀點還以為軟件架構就是試圖捕捉每一個細節的龐大UML模型。創造和交流共同的願景很重要,然而你不見得需要使用UML。實際上,可以說UML並不是一個交流軟件架構的好方法。如果要保留一些簡單的指導方針,輕量級「框線」風格的草圖是一個交流軟件架構的有效方式。

5. 好的軟件架構是支持敏捷開發的

有一種普遍的誤解,認為「架構」和「敏捷」之間是矛盾的。但恰恰相反,好的軟件架構是支持敏捷的,可以幫助你擁抱並實現變化。然而好的軟件架構並非與生俱來,需要你努力爭取。