《架構漫談》讀後感

《架構漫談》讀後感前端

         今天學習了《架構漫談》,對什麼是架構、怎樣作好架構、如何根據架構寫好程序等有了更加清楚的認識。下面簡單談一下個人一些本身的想法。程序員

         首先咱們要明確的就是到底什麼是架構?爲何產生架構?老師上課的時候以程序員的發展來解釋這個問題,在早期編程的時候,程序比較小,一我的徹底能夠開發一個軟件,這時候是不須要任何架構就能完成任務的;而隨着計算機軟件技術的高速發展,一我的編程已經成爲了過去式,如今都是以編程團隊爲單位進行開發,這時候就須要架構來指導咱們進行開發,由此能夠引出一個架構的定義:把一個總體切分紅不一樣的部分,由不一樣的角色來完成這些分工,並經過創建不一樣部分相互溝通的機制,使這些部分有機的結合爲一個總體,並完成這個總體所須要的全部活動,這就是架構。數據庫

         總之,架構要:1.根據要解決的問題,對目標系統的邊界進行界定。2.對目標系統按某個原則進行切分。3.並對這些切分出來的部分,設立溝通機制。4根據切分出來的部分,合併成爲一個總體,完成目標系統的全部工做。編程

         而後咱們要認識一下概念,這是理解架構的基礎。就好比說桌子,一件平常生活中很常見的東西,可是真要是抽象出一個概念的話,咱們不必定能描述清楚,因此說要理解架構的定義,作好架構,就必需要有正確認識概念的能力。架構

         接下來咱們要作的就是正確的識別問題,就拿文章中切土豆的問題爲例,女主人公讓男主人公切一半土豆下鍋,而男主人就每一個土豆都切了一半,結果可想而知。男主人公的錯誤就是沒有正確的識別問題。要正確的識別問題,咱們必定要分析出主體是誰,做爲一個軟件架構師,咱們要解決的問題必定是別人的問題。而在這一過程當中,須要問兩個問題,是誰的問題,有什麼問題?學習

         當咱們完成識別問題後,就須要對系統進行切分,而切分的緣由呢?大抵有幾種狀況:某個或某些利益相關人等額負載過重,時間上負載過重,某個或者利益相關人的權利與義務不對等。其實切分的過程就是建模的過程,架構切分最終會產生分層,咱們要儘可能使其變成一顆平衡樹,使整個系統的效率最大化。設計

         那麼到底什麼是軟件呢?軟件,其實就是用機器模擬人,在硬件上進行編程,以控制軟件的各類行爲。其實軟件架構的發展架構的發展是類似的,開始的時候規模比較小,只須要一我的即可完成編程工做,隨着軟件規模的擴大化,單個程序員的編程已不能知足需求,因而便出現了架構師,人們將軟件劃分的工做交給架構師,讓他對每一個程序員的工做進行劃分,實現利益的最大化。開發

         軟件架構,軟件因流量增大而拆分紅不一樣的運行單元,在不一樣機器上部署所造成的軟件架構,屬於軟件架構。每一個運行單元爲了讓不一樣角色的人,好比前端,業務,數據存儲等可以並行工做,所分紅的代碼架構,也是軟件架構。部署

         要成爲一個優秀的架構師,咱們就不能害怕對時間的恐懼和壓力,這是不自信的表現,我必定突破這個障礙,才能最終成爲一個合格的架構師,另外,架構師必須是一個領導人,有實權,這樣才能充分平衡別人的利益,作到利益的最大化。架構師還必須有必定的技術能力才能設計出優秀的架構。效率

         那麼如何根據架構來寫出好的代碼呢?個人理解就是,將代碼進行分層,將處理數據庫操做、邏輯業務層、界面表現層分出來。這樣能夠下降代碼的耦合程度,當須要修改代碼的時候,只須要改很小的一部分就能夠完成功能的改變。

相關文章
相關標籤/搜索