入行十幾年和很多架構師打過交到,絕大部分的架構師在具備超強的架構能力的同時,同時還兼具強大的編碼能力,而且會的編程語言還挺多,從程序員的角度認知,架構師還是需要懂一些代碼實現的原理對于架構整體架構還是非常有好處的。畢竟程序代碼架構和代碼的實現性能息息相關,所以架構不能脫離開代碼的實現而單獨存在,當然也見過專注于框架,不去在意具體代碼的實現,可能是見識淺薄的原因,相對來講還是非常少。
當今軟件的發展分工是越來越精細,對于架構師來講安心做好框架方面的東西,不關心底層的實現在一定程度上反而有助于提升整體軟件體系結構,框架主要體現以下幾個方面
1.可擴展性,兼容性
一個好的框架在后續加入新的功能之后,可以有機的結合在一起,新的功能的增加還能和之前的舊的功能有兼容性,兩者之間不會因為新的功能的增加而引起沖突,后續再次添加新的功能不需要大范圍的改變框架,在國內很多軟件公司由于前期工期趕得比較緊迫,后面再次添加新的功能需要改動的東西非常多,導致框架的兼容性不夠,成為大家都不敢動的馬蜂窩。
2.健壯性
好的框架支持多個功能的同時不能因為功能多,導致性能的下降,這都是需要在設計之初需要考慮的事情,不能因為功能太多,導致整體系統的性能下降太多,里面在設計的時候就需要引入共享池的概念,大家一起共用,同時采用預加載的方式提升效率問題
3.有生命力
好的框架用上幾年也不會顯得過時,有前瞻性東西,用了幾年還能不落伍繼續使用,設計之初必須考慮未來幾年負載承受能力,這樣在大規模的功能上線之后的幾年內框架還能支撐住,未來新的未知功能還能繼續支撐,這算是架構的最高境界。
滿足上述三條至于是不是有編碼能力其實已經不是很重要的事情了,相對來講懂得寫代碼在架構的時候顯得更加接近地氣,但容易思維受到限制,關鍵還是看結果。
希望能幫到你。