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

2022-06-17 10:18:09 字數 1995 閱讀 2507

對於乙個軟體架構師來說,最基本的當然是理解清楚一些最基本的概念了。

什麼是架構?

這是架構漫談系列的第一篇文章的標題。事實上,很多人包括我自己在聽到架構師這個職業的時候都會有乙個疑惑:「先不提架構師,什麼是架構呢?」。在閱讀了這篇文章後,我來談談我的理解。一直以來,架構沒有著明確的定義,很多官方的定義都十分模稜兩可。而作者從架構產生的動力入手,詳細闡述了架構產生的原因,從而推導出了是架構的必要條件:

根據要解決的問題,對目標系統的邊界進行界定。

並對目標系統按某個原則的進行切分。切分的原則,要便於不同的角色,對切分出來的部分,並行或序列開展工作,一般並行才能減少時間。

並對這些切分出來的部分,設立溝通機制。

根據 3,使得這些部分之間能夠進行有機的聯絡,合併組裝成為乙個整體,完成目標系統的所有工作。

從這裡我們可以清晰的看到,要分析什麼是架構,還是得從架構的產生開始談起。

什麼是軟體?

作者在架構漫談的第五篇中討論了這個問題。如果要我來回答這個問題,我也是說不清的。

在文章中,作者運用了與分析架構的概念時類似的方法,用軟體產生的原因來分析軟體的概念。先說結論:軟體其實就是通過把人類的日常生活虛擬化,減少成本,提公升單個人員的生產力,提公升人類自己的利益。通俗的說,軟體實際上是現實中業務模型的體現。軟體本質上還是在模擬現實生活中的東西,例如vr,人工智慧等也是這樣的東西。

什麼是架構師?

在了解了以上兩個基本概念後,就回到了最初的概念問題了。什麼是架構師呢?按照上面的分析方法,我們來思考架構師產生的前提條件。

隨著時代的發展和軟體的逐漸複雜,乙個軟體已經無法由簡單的乙個人來開發了。乙個軟體需要很多人來完成,如開發人員負責編碼,架構師負責整體的架構,測試人員負責進行測試等等。這些功能的細化促使了很多職業的產生。

說到底,架構師的存在其實是來解決問題的。架構師實際上就是為了平衡別人的利益,甚至調整別人的利益的存在。架構師就是負責協調整個組織的各個部分,使得各個部分有機的結合起來。

如果真的要給架構師下乙個定義,那便是從事著如上描述事情的人吧。

首先,是誰的問題?一般來說是兩個問題,一是業務問題,在沒有軟體的情況下,乙個業務是怎麼流轉的呢?二是計算機問題,模擬出來的軟體需要什麼樣的硬體支援才可以獲得比較好的效果呢?軟體如何保證可用性等等?那麼這分別是誰的問題呢?業務問題自然是業務的owner的問題,而計算機問題就是軟體工程師的問題了。

那麼,是什麼問題呢?

拿第一點來說,業務的本質實際上是業務所服務物件的利益問題。對於他們的問題,就是要明確到底是不是真的需要乙個軟體。如果只是跟風,效率其實並沒有得到任何的提高。

第二點呢,軟體工程師必須要熟悉業務,熟悉他們的利益所在。我們不能按照自己的理解去瞎做,這樣只會造成沒有任何意義的結果。

公司角度

對於公司來說,要信任乙個架構師。如果乙個架構師要發揮他的才能,那麼必然要給架構師實際的權能。沒有權能的架構師是沒有任何意義的,只是空設的。架構師必須有權利呼叫這個組織的架構,才能更好的發揮他自己的作用。如果限制其權利,反而會更容易滋生內部的矛盾。

架構師角度

對於架構師來說,首先要精確的識別問題。看起來這似乎並不是什麼問題,但事實上很多問題都是因為沒有正確的識別問題所導致的。作為乙個軟體架構師,更多的時候是去解決「別人」的問題,而這個別人是誰,他又有著什麼樣的問題呢。我們拿到乙個事情的時候,一定要真正的理解需求背後的真正的需求人。比如使用者說:我要一把錘子。這只是乙個結果,一定要追問使用者,為什麼需要一把錘子,這把錘子被用來幹什麼,從而更好的識別和理解問題。

總的來說,架構的切分要十分小心。

最後,要理清技術、業務和架構的關係,並且要意識到**的重要性。作為乙個架構師,大部分是否都是在扮演上帝的角色。這就導致很多時候架構師總是把自己看的太高了,這是很危險的。任何時候都不能脫離實際。

那麼,技術是什麼呢?技術是為了解決業務的問題而存在的。沒有了業務,技術便沒有任何意義。一般來說肯定是先有技術再有架構。隨著技術的發展架構就會出現。

總的來說,今天閱讀了九篇架構漫談,談了談自己對於架構師如何工作的理解。

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

這學期開始學習軟體架構,通過閱讀王概凱架構漫談九篇部落格,對軟體架構有了進一步的了解。感覺學習了架構之後,能對自己的學習和實踐有更大的幫助。架構漫談主要從什麼是架構 認識概念是理解架構的基礎 如何做好架構之識別問題 如何做好架構之架構切分 什麼是軟體 軟體架構到底是要解決什麼問題 不要空設架構師這個...

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

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

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

軟體架構師是軟體行業中一種新興職業,工作職責是在乙個軟體專案開發過程中,將客戶的需求轉換為規範的開發計畫及文字,並制定這個專案的總體架構,指導整個開發團隊完成這個計畫。主導系統全域性分析設計和實施 負責軟體構架和關鍵技術決策的人員。架構師的主要任務不是從事具體的軟體程式的編寫,而是從事更高層次的開發...