作為一個程式員,需要不斷的學習、成長,豐富自己,提升自身價值。
軟體架構學習不一定是想成為架構師才去學習,哪怕是一個普通的程式員,也應該學習軟體架構相關知識,這樣可以增加對開發的了解。
我之前有看過李運華老師的《從零開始學架構》,受益匪淺。這裡我結合自己的了解給大家分享軟體架構設計的三大原則:合适原則、簡單原則、演化原則。
合适原則:
原則宣言:“合适優于業界領先”
現在網際網路時代,技術的疊代非常快。很多架構師在設計架構的時候的希望用更新的技術來進行設計,以期望達到更好的效果。
但是,更新的技術往往不是最優的選擇,哪怕新技術的效果很卓越。新技術帶來了更好的效果的同時,也可能還有很多問題,比如:不夠穩定,社群不夠活躍,文檔不夠豐富,還有很多BUG等等問題。而這些對公司來說,都需要消耗時間、人力和金錢。
對于架構師而言,不是一定要設計出最牛逼的架構,而是要結合目前環境,公司成本設計出最合适最合理的架構方案。基于這種情況·,選擇不那麼新,但是系統穩定,社群活躍,文檔豐富的技術來進行架構設計顯然要合适合理得多。
簡單原則:
原則宣言:“簡單優于複雜”
做程式員的朋友們應該都有過類似的情況,當接到某個需求時,明明可以很簡單的搞出來,偏偏想搞一個複雜一點的來展現自己的技術,我也有過這種情況,哈哈哈。
而架構師,我估計這種情況也存在。但是不管是開發還是做架構,我們都要明白,我們的最終目的(或者說是公司的目的)是什麼,那就是更高效更低成本得解決問題。因為我們(公司)都是很現實的,是要賺錢的,那就必須考慮成本。特别是對于架構而言,因為架構是“房屋的架構”,開發都是基于架構設計開發的。架構複雜度每增加1分,開發的複雜度可能就會增加10分,對了,開發完成後還需要考慮運維的成本。
是以,架構設計在滿足高可用、高性能、高擴充等等的前提下,一定要盡量簡單。
演化原則:
原則宣言:“演化優于一步到位”
我覺得這個原則不隻是适用于架構設計,還适用于産品設計。
再牛逼的架構師或者産品經理都不可能一步登天,一下子就設計出完美的架構和産品。
而事實上,優秀的架構和産品都是一步一步疊代出來的。比如:我們每天都在使用的微信,微信2011年推出至今,已經十年了,但是在十年前推出的微信和現在的微信天差地别,因為微信這十年一直在根據使用者的使用情況和市場的發展等因素做着更新疊代,以滿足使用者使用。
而産品的不斷疊代更加說明了産品活躍的生命力。如果産品不疊代了,那麼在這高速發展的社會下,将很快就會被淘汰掉。
産品如此,架構設計也一樣,架構設計也需要根據技術的發展,使用者量的增大,業務的擴充進行不斷地疊代更新,最終演化成優秀的架構。