架構漫談閱讀感想

2022-09-11 05:09:11 字數 2416 閱讀 6206

應老師的要求將王概凱老師的架構漫談總體讀了一遍,接下來談一談我讀了之後的感想,大致上就是用自己的語言談一談短淺的理解。

首先我們要了解一下什麼是架構?

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

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

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

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

把所有需要完成的工作分成多份不同的工作,不同的人根據自己的特長做適合自己的工作而不必去做所有的工作,人與人之間通過溝通(不同的工作的人之間的溝通可能是不同的)構成有機的整體,從而是所有的工作完成。比如社會上有農民,醫生,警察,老師,商人等等不同的角色,不需要每個人都去做生產,診斷,教學等所有工作,每種職業做好自己的工作就可以,通過交易和溝通變成有機的整體,從而得到糧食,安全保障和教育等資源。

2為什麼要出現架構?架構的意義是什麼?

沒有架構的話,每人都需要做所有的工作,這樣的效率十分的低下,就比如如果你想成長為乙個心智健康的人,那麼你需要獨立完成接生,種地,教育等等工作,這涉及到很多的工作以及很多的技能,如果全部乙個人幹的話,精力肯定是不夠的,精力不夠就不可能向各個領域的更深層次挖掘,生存肯定是首要問題,這樣的話每個人都要為基礎的生存問題而忙碌,沒有心思創新,社會就無法進步,也沒有能力應對發生的一些災難,比如此次疫情,如果沒有架構後果不堪設想,每個人自己的生活都是問題的話又怎麼能去研究疫苗,建設醫院?所以架構的作用是毋庸置疑的。

架構解決誰的問題?

我認為架構解決的問題可大可小,他可以解決小到家庭,學校,企業,大到國家,社會,世界。一切都是為了滿足人的越來越高的需求,提公升質量,減少時間,更有效率的切分空間,並且讓空間之間更加有機的進行溝通。

架構首先要確定邊界也就是要搞清楚:是誰的問題。這個搞清楚了,問題的邊界也就跟著確定了,再去討論問題才有意義。作者以切土豆的笑話為例進行了講解。

女主人提出乙個問題,要切土豆下鍋煮。

男主人有乙個問題,女主人交代了自己必須要完成的乙個任務。

每個人都是優先處理自己的問題,自然就選擇了 2,完成了這個任務。這也是大部分軟體工程師處理的方式,以自己認為對的方式完成自己的問題,沒什麼不對啊,也難怪能得到我們的共鳴。這個裡面犯的錯誤是什麼呢?

女主人公提出的實際上是解決方案,而不是燒土豆這個問題本身。女主人當時執行這個解決方案可能有困難,就把執行解決方案作為乙個任務,委託給了男主人。

男主人得到了乙個任務,盡心盡職地把這個任務完成了。

最後的結果是什麼呢,男人做了很多任務作,並且認為自己做的是對的,因此沒有乙個人對結果滿意。因為真正的問題沒有被發現,自然也就沒有被解決,那麼後續還得收拾殘局,還要繼續解決問題。事實上自己的工作並沒有完成,反而更多了。把原因歸結為溝通問題也是可以的,但對於解決問題似乎並沒有太多的幫助。因為要改進溝通,這也是乙個大問題。搞明白目標問題「是誰的問題,是什麼問題」,當然也是需要溝通的。為了幫助自己更快的搞明白,首先要做的事是問正確的問題。架構師應該問的第乙個正確的問題就是:目標問題是誰的問題。

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

這是誰的問題?2.

有什麼問題?

當得到的回答是支支吾吾的時候,我們就知道正確的方向在哪兒,以及需要做哪些事了。以我的經驗,問題 1 會花比較多的時間,也是支支吾吾最多的地方,因為架構要解決的問題都是人的問題。但是一旦確定了答案,問題 2 就會變得非常容易。可以這樣說,架構師的能力大部分會體現在問題 1 的識別上。

邊界確定下來以後便是切分的工作。隨著社會的發展,分工是必然的,為什麼呢? 這個背後的動力就是每個人自己的利益。每個人都希望能夠把自己的利益最大化,比如:生活的更舒適,更輕鬆,更安全,占用並享有更多的東西。但是每個人的能力和時間都非常的有限,不可能什麼都懂,所以自然需要捨掉一些自己不擅長的東西,用自己擅長的東西去換取別人擅長的東西。

切分有以下幾個原則:

必須在連續時間內發生的乙個活動,不能切分。比如孕婦懷孕,必須要 10 月懷胎,不能夠切成 10 個人乙個月完成。

切分出來的部分的負責人,對這個部分的權利和義務必須是對等的。比方說媽媽 10 月懷胎,媽媽有權利處置小孩的出生和撫養,同樣也對小孩的出生和撫養負責。為什麼必須是這樣呢? 因為如果權利和義務是不對等的話,會傷害每個個體的利益,分出來執行的效率會比沒有分出來還要低,實際上也損害了整體的利益,這違背了提公升整體利益的初衷。

切分出來的部分,不應該超出乙個自然人的負載。當然對於每個人的能力不同,負載能力也不一樣,需要不斷的根據實際情況調整,這實際上就是運營。

切分是內部活動,內部無任怎麼切,對整個系統的外部應該是透明的。如果因為切分導致整個系統解決的問題發生了變化,那麼這個變化不屬於架構的活動。當然很多時候當我們把問題分析的比較清楚的時候,整個系統的邊界會進一步的完善,這就會形成螺旋式的進化。但這不屬於架構所應該解決的問題。進化的發生,也會導致新的架構的切分

實際上切分的過程就是建模的過程,每次對大問題的切分都會生成很多小問題,每個小問題就形成了不同的概念。

《架構漫談》閱讀筆記

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

《架構漫談》閱讀筆記

架構漫談是由資深架構師王概凱執筆的系列專欄,通過對其閱讀,我從中逐步認識到了什麼是架構,怎樣做好架構,軟體架構如何落地等內容。一 什麼是架構 在軟體行業,對於什麼是架構一直有很多的爭論。事實上,架構在軟體發明時的n多年以前,就已經存在了,這個詞最早出現在建築上。架構產生的五個動力可以概括為 由個人執...

《架構漫談》閱讀筆記

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