《Microsoft.NET企業級應用架構設計(第2版)》——1.3 總結
本節書摘來自異步社區《Microsoft.NET企業級應用架構設計(第2版)》一書中的第1章,第1.3節,作者: 【意】Dino Esposito(埃斯波西托) , Andrea Saltarello(索爾塔雷羅)著,更多章節內容可以訪問雲棲社區“異步社區”公眾號查看
1.3 總結
架構對於現代軟件來說是必需品而不是奢侈品。即使架構曾經隻是附屬品,現在也肯定不再是,其中的區別在於現代軟件的複雜性。
我們通常會拿軟件和土木工程比較,但是,當土木工程師要建一座橋時,這座橋將會建成。除此之外,這座橋總能正常使用,而且建築成本和原先的預算相差無幾。這對於很多軟件項目來說並非如此。放到軟件上,有時候很難確定利益相關者的承諾最終有哪些能夠兌現。但可以確定的是,可能會超出原先的預算,交付的東西可能在某種程度上與預期的不同。
為什麼軟件會這樣?
總的來說,軟件開發很難像土木工程那樣給出固定的規則,軟件開發不是單純的工程學,它涉及了大量的設計、創意,甚至心理學。此外,軟件具有極高的動態性,它構建起來相對比較慢,卻又需要和不斷不斷變化的業務需求保持同步。軟件實踐變化得如此之快,以至於任何時候都很難獲得最先進的實踐方法。
在本章裏,我們著重探討軟件架構和架構師角色的本質。在下一章裏,我們將會進一步探討架構師在問題領域應用架構時實際要做的事情。在下一章裏,我們將會更多地討論軟件項目的運作機製以及導致它們失敗的可怕事情——大泥球。
最後更新:2017-06-01 16:01:37