當前位置:名人名言大全網 - 笑話故事 - 軟件行業經常提到的“架構”是什麽?

軟件行業經常提到的“架構”是什麽?

壹直以來,在軟件行業,關於什麽是架構有很多爭論,每個人都有自己的理解。甚至很多架構師壹說架構,就開始說應用架構,硬件架構,數據架構等等。我到處尋找建築的定義,也咨詢過很多人。結果我發現沒有壹個大家都認同的定義。套用壹個關於大數據的流行笑話,它也適用於建築:

建築就像青少年的性行為,每個人都在談論它,沒有人真正知道它是什麽。

其實建築在軟件發明之前就已經存在n多年了,這個詞最早是和建築壹起出現的。所以我覺得有必要從源頭上把建築這個概念討論清楚。只有這樣,對軟件行業架構的討論才有意義。

什麽是建築?

建築的英文單詞是Architecture。在維基百科上,建築的定義如下:

建築學(拉丁語architecture a,來自希臘語?ρχιτ?arkhitekton《建築師》,出自?▽νι——“首席”和τ?“建築者”)是規劃、設計和建造建築物和其他物質結構的過程和產物。

從這個定義來看,建築好像是壹個過程,不是很清楚。為了搞清楚這個問題,我們先來看看架構為什麽會產生。

架構為什麽會產生?

想象壹下,最早的時候,大家完全獨立生活,衣食住行等等。都是自己做的,整個人類是壹個獨立的個體,相互之間沒有交流。為了解決人類的延續問題,男女自然群居。這時候就有分工了。男女所做的事情會有壹定的分工,但人們日常生活的基本需求並沒有改變,依然是衣食住行等必需品。

但是,壹旦很多人作為壹個整體共同努力,力量就變得強大很多,於是自然就形成了族群:有的人擅長農耕,有的人擅長制作工具,有的地方適合生產糧食,有的地方適合生產棉花等等。,自然就形成了人的分組和地域的分組。當分工發生時,每個人的生產率實際上都得到了提高,因為每個人都擅長自己所做的事情。

整個人口的生產力和抵禦環境的能力得到了提高。為什麽?因為每個人的能力和時間都是有限的,也因為人的結構的限制,人在同壹時間只能專註於壹件事,這就導致了分工。自從有了分工,所有生存必須的事情都由壹個人來做,變成了很多角色分工不同的合作。這些人必須通過某種機制組合起來,讓每個人完成生存所必須的東西,這實際上導致了交易(這部分交易這裏就不展開了,我們有機會再討論)。

當每個人都要自己完成所有生活必需品的生產時,就沒有框架了(當然個人認為只能同時做有限的幾件事,還是有可能及時產生壹個框架的)。分工壹旦發生,所有的事情就分成不同角色的人去完成,最後通過交易,每個個體都有了生活的必需品,不用什麽都做,只需要做自己擅長的,有壹定的交易能力就可以了。

這實際上形成了社會結構。那麽如何定義架構呢?以上面的例子為例,壹個整體(人類存在的全部工作)被分成不同的部分(分工),由不同的角色來完成,而通過建立不同部分之間的溝通機制,可以將這些部分有機地結合成壹個整體,完成這個整體所需要的全部活動。這就是建築。從上面的例子中,我們也可以總結出架構產生的動機:

必須由人執行的工作(沒有人的幹預,意味著不需要轉換,所以不需要架構)

每個人的能力都是有限的(每個人都有自己的長處,個人的產出受限於最短的那塊板,而且由於人的結構限制,他只能集中精力同時做好壹件事。比如,他雖然有兩只眼睛,但同時只能集中精力做壹件事,有兩只手,所以不能同時做不同的事情。贊美詩雖然有少數人可以用左手和右手畫出壹個圓形的畫框,但這並不是普遍現象。)

每個人的時間都是有限的(為了減少時間的投入,必然導致工作的分解,交給擅長這些工作的角色,見2,從而縮短時間)

人們對目標系統的要求更高(如果滿足於現狀,就不需要架構)

目標系統的復雜程度使得單人完成系統成為可能,滿足條件2和3(如果個人可以完成系統的改進,就不需要其他人參與,所以不需要架構,只需要壹個工匠就可以了,壹般這個工作對時間來說並不緊迫。當妳足夠精通的時候,妳也會有壹些架構上的思考,但是更多關註的是如何提高質量和個人的時間效率。

有人可能會質疑,如果壹個人把目標體系分解,比如有人蓋房子,自己買材料自己建,那不是建築嗎?如果妳對時間不敏感,就會出現這種情況,但在這種情況下,並不壹定導致架構的發生。如果妳足夠自覺,足夠熟練,妳也會有建築思維,因為這有助於提高生產力,縮短建造時間,提高房子的質量。事實上,建築的架構是經過長期的這些活動而積累的實踐。

當這五個條件同時成立時,壹個框架就壹定會出現。從這個角度來看,建築是人類發展過程中由無知被動變為主動,以更高效率改造世界的壹種方式。我們以建築為例來加強理解。

起初,人類生活在洞穴和樹木中,主要是為了避免其他野生動物的攻擊,減少自然環境的變化和對人類生存的挑戰。為了實現這些目標,人類開始學會利用樹木和樹葉在平地上建造孤立的空間設施,這就是建築的開始。但是完全隔離也有很多弊端,慢慢的門窗等設施就出現了。

建築的本質是從自然環境中劃出壹個專屬空間,但仍然可以通過門窗與自然環境溝通。這個時候,架構已經開始了。劃分地球上的空間,通過門、窗、地基與地球、空間保持有機的溝通。當人類開始學會用火的時候,小屋自然會分成兩部分,壹部分用來做飯,壹部分用來生活。當人的排泄物慢慢搬進房間後,浴室就慢慢出現了。這是建築內部的空間劃分。

這個時候,人們對建築的需求會逐漸增加,空間的分割會變得很多,組合的方式也會有很多,比如大家居住的房子,群體居住產生的宗教性質的房子,集體活動的房子等等。這個時候,人們開始有意識地設計房屋,建築師慢慢出現了。壹切都是為了滿足人們越來越高的需求,提升品質,減少時間,更高效的劃分空間,讓空間更有機的交流。這就是建築的建築,建築的進化。

總而言之,什麽是建築,那就是:

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

按照壹定的原則對目標系統進行分割。分段的原則要方便不同的角色,對於分段的部分要進行並行或串行工作。壹般來說,並行工作可以減少時間。

並為這些分段的部分建立通信機制。

按照3,可以將這些部分有機地連接、合並、組裝成壹個整體,完成目標系統的全部工作。

同樣,這種思維也可以推廣到其他行業,比如企業架構、國家架構、組織架構、音樂架構、色彩架構、軟件架構等等。套用三國演義裏的壹句話,分久必合,合久必合。建築實際上是指人們根據自己對世界的認識,主動地、有目的地識別壹個問題,並對其進行分解、合並,以解決這個問題的實踐活動。架構的輸出自然是問題的分析和問題的解決方案,包括拆分的原理和原因,溝通和合並的原理和原因,以及拆分和合並的各個部分的角色和所需的核心能力。

望采納!