架構漫談讀後感之軟體架構師如何工作

2022-05-22 14:03:12 字數 2231 閱讀 6100

這學期開始學習軟體架構,通過閱讀王概凱架構漫談九篇部落格,對軟體架構有了進一步的了解。感覺學習了架構之後,能對自己的學習和實踐有更大的幫助。架構漫談主要從什麼是架構、認識概念是理解架構的基礎、如何做好架構之識別問題、如何做好架構之架構切分、什麼是軟體、軟體架構到底是要解決什麼問題、不要空設架構師這個職位,給他實權、從架構的角度看如何寫好**、理清技術、業務和架構的關係這九個方面來介紹軟體架構。

首先要了解到底什麼是架構。在剛開始是沒有架構的,在社會發展的過程中就逐漸形成了社會的架構。把乙個整體切分成不同的部分,由不同角色來完成這些分工,並通過建立不同部分相互溝通的機制,使得這些部分能夠有機的結合為乙個整體,並完成這個整體所需要的所有活動,這就是架構。總的來說架構就是:根據要解決的問題,對目標系統的邊界進行界定。並對目標系統按某個原則的進行切分。切分的原則,要便於不同的角色,對切分出來的部分,並行或序列開展工作,一般並行才能減少時間。並對這些切分出來的部分,設立溝通機制。根據,使得這些部分之間能夠進行有機的聯絡,合併組裝成為乙個整體,完成目標系統的所有工作。

只有熟悉了架構的概念才能更好的理解架構。每個概念實際上所解決的,還是人遇到的某個特定的問題,我們把解決問題的解決方案,給定了乙個名字,這個名字就是對應的某個特定的概念。抽象這個概念是很重要的,在做架構師的群體中,不談抽象好像就不是乙個合格的架構師。根據架構的定義,要做好架構所首先必須具備的能力,就是能夠正確的認識概念,能夠發現概念背後所代表的問題,進而才能夠認識目標領域所需要解決的問題,這樣才能夠為做好架構打好基礎。在做架構的時候,很多時候都是在乙個新的領域解決問題,必須要快速進入並掌握這個領域,然後才能夠正確的解決問題。

作為軟體工程師或者架構師,我們大部分時候是要去解決別人的問題。架構師在解決問題時候,找出問題的主體,是做架構的首要問題。更進一步,架構師要解決的,基本都是別人的問題,不是自己的問題。架構師都要有這個自覺:發現問題永遠都比解決問題來的更加重要。一旦確定了主體,剩下的就是去搞明白主體有哪些問題。這個就比較直接了,常用的方式就是直接面對主體進行訪談,深入到主體的工作生活當中,體驗並感受這些問題,甚至通過資料的反饋來定位問題。從問題暴露的點,一點點去溯源查詢,一定會找出來誰的問題,以及是什麼問題。總的來說要正確的認識問題,需要問兩個問題:這是誰的問題?有什麼問題?

在識別出是誰的問題之後,需要做調整,那麼就必須要有所動作,做相應的調整。這個調整就是架構的切分。切分就是利益的調整。所有的切分決策都不能夠違背這一點,這是大方向。切分要掌握必要的一些原則:確保我們不能違反人性,因為維護自己的利益,是每個人的本性。只有權利和義務對等才能做到這一點。所有的架構分拆,都應該是形成樹狀的結果,不應該變成有向圖,更不應該是無向圖實際上切分的過程就是建模的過程,每次對大問題的切分都會生成很多小問題,每個小問題就形成了不同的概念。軟體架構師了解清楚架構之後也要認識什麼是軟體。軟體其實就是在計算機上以模擬人為目標,在計算機硬體上編寫出的,用來控制硬體行為的程式。有了軟體之後,實際上,我們是把我們日常生活中所做的事情,包括我們自己本人都一起虛擬化到了計算機中。而人則演化成了,通過計算機的輸入輸出裝置,控制計算機中的自己,來完成日常的工作,以及與其他人的溝通。成本是我們使用軟體的主要動力,可以減少大量的人員培訓,減少雇員的數目。不管如何發展,模擬人的所有行為都是乙個大的趨勢。軟體實際上是對現實生活的模擬,虛擬化。也就是說,軟體的主要目的,還是把人類的生活模擬化,提供更低成本,高效率的新的生活。從這個角度來看,軟體主要依賴的還是人類的生活知識。軟體工程師的職責在這個浪潮中,不堪重負,自然而然就分拆為不同的角色,形成了乙個獨特的架構體系。

軟體架構實際上包括了:**架構,以及承載**執行的硬體部署架構。從架構的角度寫好**,邏輯的出現要分對地方。技術總是在人類解決對業務的要求不斷提高的情況下產生,目的也是為了獲取更大更好的利益。技術是為了解決業務的問題而產生的,沒有了業務,技術就沒有了存在的前提。也就是說,一般是先有技術,才會有架構。

軟體架構師在工作中是要去平衡別人的利益,甚至會調整別人的利益的。一旦架構師是全心全意的為別人的利益服務,自然而然的架構師就擁有了強有力的影響力,肯定會是乙個leader。架構師必須是乙個組織的領導人,有權利調動這個組織的架構,才能夠更好的發揮架構師的作用,更好的把利益的調整落到實處。架構師的義務就是發現問題並且解決問題。架構師還必須要明白,所給出的解決方案架構的分拆、合併方案,只有讓問題的主體的權責對等,才能夠真正的解決別人的問題。一般明白了問題的主體,以及主體的利益所在,做到這一點也沒有問題。架構師對於技術和語言也要熟悉。因為技術和語言,都是用來識別和解決所服務的主體的權責,保護並提公升所服務的主體的權利的。最後準確識別採用什麼技術的能力,也是架構師所要具備的能力之一。考慮的主要因素也是長期的成本和收益。通過這九篇部落格,對於架構師有了進一步的了解。我總結了架構師在工作中應該注意的問題。和架構師在工作中應該如何解決問題。

軟體架構師如何工作 架構漫談讀後感

對於乙個軟體架構師來說,最基本的當然是理解清楚一些最基本的概念了。什麼是架構?這是架構漫談系列的第一篇文章的標題。事實上,很多人包括我自己在聽到架構師這個職業的時候都會有乙個疑惑 先不提架構師,什麼是架構呢?在閱讀了這篇文章後,我來談談我的理解。一直以來,架構沒有著明確的定義,很多官方的定義都十分模...

軟體架構師如何工作(即架構漫談讀後感)

軟體架構師如何工作 即架構漫談讀後感 讀完王概凱老師的架構漫談,感覺自己對軟體架構方面的知識了解了一點點。以前都只是聽說軟體架構師特別的厲害,高薪,但是具體說軟體架構師是什麼,具體是做什麼的,自己並沒有多大的乙個觀念。現在看王概凱老師的專欄,希望能讓自己有一些收穫。1.什麼是架構,為什麼需要架構?按...

架構漫談讀後感

應老師的推薦閱讀了由資深架構師王概凱 kevin 執筆的系列專欄 架構漫談 9篇文章遞進地講述了 討論什麼是架構 怎樣做好架構 軟體架構如何落地 如何寫好程式等問題,文章生動形象多次舉通俗的例子讓本來生澀的知識變得更加容易理解,感觸頗多。對這系列文章印象的較深的一點是 一直在挖掘一些本質的東西,對一...