《架構漫談》閱讀筆記

2022-05-03 05:42:12 字數 1347 閱讀 6323

架構漫談是由資深架構師王概凱執筆的系列專欄,通過對其閱讀,我從中逐步認識到了什麼是架構,怎樣做好架構,軟體架構如何落地等內容。

一、什麼是架構

在軟體行業,對於什麼是架構一直有很多的爭論。事實上,架構在軟體發明時的n多年以前,就已經存在了,這個詞最早出現在建築上。架構產生的五個動力可以概括為:由個人執行的工作;每個人的能力有限;每個人時間有限;人對目標系統有更高的要求;目標系統的複雜性使得單個人完成這個系統。當這五個條件同時成立,一定會產生架構。從這個角度上來說,架構是人類發展過程中,由懵懵懂懂的,被動的去認識這個世界,變成主動的去認識,並以跟高的效率去改造這個世界的方法。

對於什麼是架構,作者為我總結為四點:1.根據解決的問題,對目標系統的邊界進行界定。2.並對目標系統按某個原則進行切分。切分的原則,要便於不同的角色,對切分出來的部分,並行或序列開展工作,一般共行才能減少時間,3.並對這些切分出來的部分,設立溝通機制。4.根據3,使得這些部分之間能夠進行有機的聯絡,合併組裝成為乙個整體,完成目標系統的所有工作。

二、認識架構的基礎概念

每個概念年實際上所解決的是人遇到的某個特定問題,我們把解決問題的解決方案,給定乙個名字,這個名字就是對應的某個特定的概念。在討論桌子這個概念的過程中,很多人會提出抽象這個概念。抽象這個詞代表的含義,實際上是吧不同的概念的相似的部分合併在一起,形成乙個新的概念。根據架構的定義,要做好架構所首先必須具備的能力,就是能夠正確的認識概念,能夠發現概念背後所代表的問題,進而才能夠認識目標領域所需要解決的問題,這樣能夠為做好架構打好基礎。 

要正確的認識問題,需要問兩個問題:

這是誰的問題?

有什麼問題?

能夠清晰的定義問題,是解決問題的第一步。

四、如何做好架構的架構切分

架構的切分的導火索是人、時間的負載太重。每個人的能力有限,或者單個人來做的話,時間太長。架構的切分實際就是對stakeholder的利益進行切分或合併,使得每個stakeholder的權責是對等的,每個stakeholder可以為自己的利益負責。

架構切分的最終結果都會體現在組織架構上,只有這樣才能夠讓架構落地並推進。

架構切分的結果一定是乙個樹狀,這也是為什麼會產生分層。層數越多溝通越多,效率越低,分層要越少越好。盡可能變成一顆平衡樹,才能讓整個系統的效率最大化。

由此產出的一些設計算是軟體架構:

軟體因為流量增大而分拆成不同的執行單元,在不同的機器上部署所形成的架構,屬於軟體架構。

每個執行單元為了讓不同角色的人,比如前端,業務,資料儲存等能夠並行工作,所分成的**架構,也屬於軟體架構。

五、自己的想法

作者把架構歸結為分工的需要,但是只有乙個人的專案的時候,也是需要架構的。架構使整個系統滿足業務需求的基礎上,簡單、可維護。總之,在以後的工作中,架構無論對個人還是團體都有著不可估量的作用。

《架構漫談》閱讀筆記

在每個人都必須自己完成所有生活必須品的生產的時候,是沒有架構的 當然在個人來講,同一時刻只能做有限的事情,在時間上還是可能會產生架構的 一旦產生的分工,就把所有的事情,切分成由不同角色的人來完成,最後再通過交易,使得每個個體都擁有生活必須品,而不需要每個個體做所有的事情,只需要每個個體做好自己擅長的...

《架構漫談》閱讀筆記

軟體架構師如何工作?不同於軟體工程中只需要編碼的 低階 碼農,一名合格的軟體架構師首先要對架構有深刻的理解。那麼什麼是架構?從建築的角度解釋,架構是計畫 設計和建造建築物 物理結構的過程和生產活動。從這個定義上看,架構像乙個過程,但又不明確。為了弄清這個問題,我們首先要了解為什麼會產生架構?在最早期...

架構漫談閱讀筆記

架構漫談 一直以來,在軟體行業,對於什麼是架構,都有很多的爭論,每個人都有自己的理解。甚至於很多架構師一說架構,就開始談論什麼應用架構 硬體架構 資料架構等等也有人曾經也到處尋找過架構的定義,請教過很多人,結果發現,沒有大家都認可的定義。一想到建築,就能想到一塊空間,有牆,有門,有窗。用牆圍住的一塊...