回覆列表
-
1 # 挨踢GO
-
2 # 架構師Adam
定義:
系統架構師(System Architect,簡稱SA或SAr),是在資訊系統研發中,負責依據需求來確定主要的技術選擇、設計系統的主體框架結構,並負責搭建實施的人。
職稱來源:系統架構師,也是中國工業和資訊化部“計算機技術與軟體專業資格水平”認證中,對開發實施技術人員的最高一級認證(2003年從原系統分析員中分設出來),是一種高階職稱,由初級程式設計師、程式設計師、軟體設計師逐次上升而來。
參考企業:微軟對架構師有一個分類參考,我們參考一下,他們把架構師分為4種:企業架構師EA(Enterprise Architect)、基礎結構架構師IA(Infrastructure Architect)、特定技術架構TSA(Technology-Specific Architect)和解決方案架構師SA (Solution Architect)。
總結:從微軟對於架構師的定義,你能說微軟的開發使用的是JAVA技術嗎?
職稱與技術無關性很重要,顯然,JAVA的火熱矇蔽了你的視線。
你可以說 HTML 屬於前端語言,但不能說前端是HTML,這也是前端開發者到底屬不屬於程式之掙?你認為呢?
C++的開源框架少應該是主因。
在實際的應用中架構風格就那麼幾種。常見的有分層模式、客戶端/伺服器模式、事件匯流排模式、管道過濾器模式、黑板模式、直譯器模式、模型-檢視-控制器模式(MVC)、主從裝置模式等等。具體每個模式的細節,我不一一展開描述了,網際網路上大把的資源。一般程式設計師有個一兩年年工作經驗就能熟悉應用。
再從架構師的職責說起,功能元件的選型,然後進行搭建,組成大的軟體系統。工作中往往關注具體的細節,比如通訊介面、資料庫訪問等。
JAVA偏重管理系統,效率不是重點。因此框架比較多,且更新迭代頻繁。如訪問資料庫,先有hibernate,後有mybatis。MVC框架更是層出不窮。框架的特性是解決區域性問題,一個軟體系統就要使用多個框架才能解決問題。元件的調配驗證等工作,繁重且需要豐富的專案經驗才能勝任,於是有了是架構師這個崗位專職做這個工作。架構師們的工作也很辛苦,需要有不斷的學習才能緊跟技術潮流。
C++的優勢是執行效率高。出於效能考慮,很多功能要靠自己造輪子才能解決問題。比如,資料庫大部分人是通過訪問介面的API自己搞起的。框架往往是採用的折中方案,與你的效率目標有一定的初入。
隨著一些諸如bRPC、gRPC等高效能的框架開源,C++也面臨著元件選型的難題。相信不遠的將來C++的架構師也會越來越多。
上述僅僅是個人觀點,不當之處,請批評指正。