讀《架構漫談》有感

2022-07-18 08:42:10 字數 1221 閱讀 1692

上上週,在王老師的"威逼利誘"下,歷時兩周,總算是讀完了這九篇關於架構的部落格。雖然其中很多內容我還不是很理解,但是還是學到了很多,對於軟體工程以及架構的概念也有了更深的理解。

首先就說說什麼是架構,用《架構漫談》中的原話來說,架構,就是:1.根據要解決的問題,對目標系統的邊界進行界定。 2.並對目標系統按某個原則的進行切分。切分的原則,要便於不同的角色,對切分出來的部分,並行或序列開展工作,一般並行才能減少時間。 並對這些切分出來的部分,設立溝通機制。3.根據3,使得這些部分之間能夠進行有機的聯絡,合併組裝成為乙個整體,完成目標系統的所有工作。說的再簡單點,就是確定目標範圍,切分目標,整合。而之所以會產生架構,是因為隨著專案的規模越來越大,參與的人數越來越多,必然會產生分工,而架構的目的也是為了合理分工,最後有機結合。

在確定問題上,我們要弄清架構解決的問題是什麼。架構解決的是人的問題,這是乙個需要牢記的核心觀念。談到解決問題,我們需要知道兩個點:1.這是誰的問題,這實際上是找問題的主體究竟是誰,如果找不對或者找不到問題的主體,那麼花費再大的精力也是白費功夫,最後誰也不會滿意。2.有什麼問題,當我們正確的找到了問題的主體後,再在主體上去追根溯源,去挖掘有什麼問題,可以通過溝通,交流,觀察等等方式去找問題。所以來說,找到問題的主體是我們解決問題的一大關鍵。

然後再談談如何做好切分。在說這一點之前,先解釋一下stackholder,stackholder就是相關利益人,用現代管理學語言叫:stockholder。架構切分的導火索是人的負載太重。而架構的切分實際就是對 stakeholder 的利益進行切分或合併,使得每個 stakeholder 的權責是對等的,每個 stakeholder 可以為自己的利益負責。在進行架構切分的時候,分層要越少越好,盡量形成一棵平衡樹,這樣才能更大的提高效率。

說了這麼多,也沒有提及到軟體二字,接著就來說說軟體架構的問題。軟體架構解決的是兩個問題:

1.業務問題

具體的現實生活狀態下,沒有軟體的時候,所解決的問題的主體是誰,解決的是什麼問題,是如何解決,如何運作的?

2.計算機問題

1)如何把現實生活用軟體來模擬?

2)模擬出來的軟體,需要哪些硬體設施才能夠滿足要求? 並且當訪問量越來越大的時候,軟體能否支援硬體慢慢長大,效能線性擴充套件?

3)因為硬體是可能會失效的,軟體如何在硬體失效的情況下,仍然能夠保證可用性,讓使用者能夠不中斷的訪問軟體提供的服務?

4)怎麼收集軟體產生的資料,為下一階段的工作提供依據?

而如何解決問題,這裡就不詳細展開了。總而言之,軟體架構就是滿足業務在計算機中的虛擬化。

讀架構漫談 有感

什麼是架構 緣起一直以來,在軟體行業,對於什麼是架構,都有很多的爭論,每個人都有自己的理解。甚至於很多架構師一說架構,就開始談論什麼應用架構 硬體架構 資料架構等等。我曾經也到處尋找過架構的定義,請教過很多人,結果發現,沒有大家都認可的定義。套用一句關於 big data 流行的笑話,放在架構上也適...

讀《架構漫談一》有感

架構漫談 一 什麼是架構?1.我的目的 我看架構漫談的目的是通過架構幫助我解決如何看懂一本書,如何看懂乙個概念並非是通過它來解決如何設計軟體架構 企業架構 架構等 這些問題,但通過看這篇文章也讓我得到了除了我的目的之外的一些知識,進一步擴張了我的思維方式,讓我從更抽象更高的層次去考慮如何解決自己不僅...

讀《架構漫談》系列有感

讀了這一系列博文,我對架構也有了大致的了解。在簡單的閱讀之後,我解決了幾個問題。第乙個問題,什麼是架構?要學習架構,首先要知道架構。那麼,什麼是架構呢?引用 架構漫談 一 裡的話就是把乙個整體切割成不同的部分,由不同的角色來完成這些分工,並通過建立不同部分相互溝通的機制,使得這些部分能夠有機的結合為...