入行十幾年和很多架構師打過交到,絕大部分的架構師在具備超強的架構能力的同時,同時還兼具強大的編碼能力,而且會的程式設計語言還挺多,從程式員的角度認知,架構師還是需要懂一些代碼實作的原理對于架構整體架構還是非常有好處的。畢竟程式代碼架構和代碼的實作性能息息相關,是以架構不能脫離開代碼的實作而單獨存在,當然也見過專注于架構,不去在意具體代碼的實作,可能是見識淺薄的原因,相對來講還是非常少。

當今軟體的發展分工是越來越精細,對于架構師來講安心做好架構方面的東西,不關心底層的實作在一定程度上反而有助于提升整體軟體體系結構,架構主要展現以下幾個方面
1.可擴充性,相容性
一個好的架構在後續加入新的功能之後,可以有機的結合在一起,新的功能的增加還能和之前的舊的功能有相容性,兩者之間不會因為新的功能的增加而引起沖突,後續再次添加新的功能不需要大範圍的改變架構,在國内很多軟體公司由于前期工期趕得比較緊迫,後面再次添加新的功能需要改動的東西非常多,導緻架構的相容性不夠,成為大家都不敢動的馬蜂窩。
2.健壯性
好的架構支援多個功能的同時不能因為功能多,導緻性能的下降,這都是需要在設計之初需要考慮的事情,不能因為功能太多,導緻整體系統的性能下降太多,裡面在設計的時候就需要引入共享池的概念,大家一起共用,同時采用預加載的方式提升效率問題
3.有生命力
好的架構用上幾年也不會顯得過時,有前瞻性東西,用了幾年還能不落伍繼續使用,設計之初必須考慮未來幾年負載承受能力,這樣在大規模的功能上線之後的幾年内架構還能支撐住,未來新的未知功能還能繼續支撐,這算是架構的最高境界。
滿足上述三條至于是不是有編碼能力其實已經不是很重要的事情了,相對來講懂得寫代碼在架構的時候顯得更加接近地氣,但容易思維受到限制,關鍵還是看結果。
希望能幫到你。
原文釋出時間為:2018-10-7
本文來自雲栖社群合作夥伴“
程式員互動聯盟”,了解相關資訊可以關注“
”。