讀古今文學網 > 程序員必讀之軟件架構 > 每個決策都是權衡 >

每個決策都是權衡

這又回到一個事實,任何技術都有其優缺點,作為可交換的商品,並不一定有不同的選項。對於通常被看作是商業化的技術,關係型數據庫和Web應用程序框架是兩個典型的例子。很多雲服務提供商也是如此,即使他們有各自關於部署、監測、管理、成本、持續磁盤訪問等方面的權衡。

一天結束時,不論是否與性能、可伸縮性、可維護性、找到有合適經驗的人的能力等方面相關,你做出的每一個技術決策都有權衡。理解技術選擇也能協助高層次的預測和計劃,如果你需要明白是否能用給定的有限預算實現目標,這就很有用。

如果你不明白選擇X技術而非Y的權衡,那就不應該做決策。設計軟件系統的人要懂技術,這很重要。這就是為什麼軟件架構師應該是建造大師 。

技術不只是一個「實現細節」,你做出的技術決策跟你分解、安排和設計軟件系統的方式同等重要。推遲技術決策,後果自負。