王概凱架構漫談讀后感


架構漫談讀后感

架構漫談是由一個架構師王概凱寫的一個專題,是以他的實際架構經驗為基礎,討論是什么是架構,怎樣做好架構,怎么寫好程序等一些問題。

共分為九個部分:

1)  什么是架構?

首先把架構的概念討論明白,然后在對架構進行分析才顯得清晰有意義。架構這個詞在軟件工程很早之前就已經出現了,在人類的早起大家的衣食住行都靠自己,不需要合作,這時候自然不需要架構。但是經過一段發展,人類發現合作的力量是巨大的,每個人都有自己所擅長的部分,在進行分工合作的時候產生的結果往往大於個人,這時候就產生了社會的架構。所以說,由不同角色來完成這些分工,並通過建立不同部分相互溝通的機制,使得這些部分能夠有機的結合為一個整體,並完成這個整體所需要的所有活動,就是架構。從中可以看出架構產生的動力有五個:由人執行;每個人能力有限;每個人時間有限;目標期望高;目標復雜。從更細致的方面來說:架構是根據要解決的問題定邊界;對目標系統按某原則切分;並對分塊設立溝通機制;使得分塊能夠聯系起來成為整體,完成工作。

2)  認識概念是理解架構的基礎

理解概念對於理解這件事物來說十分重要,就像說桌子一樣,同樣是有腿有木板搭建,而我們會在桌子上吃飯不在櫃子上吃飯,原因就是桌子實際上是為了解決人坐在椅子上,手還能夠支撐在一個平面上繼續開展活動的問題,一般會和椅子配對出現。坐在椅子上工作,對着櫃子有一個很嚴重的問題,就是腿無法展開的問題。當這么坐着超過半小時就知道是什么痛苦了。所以桌子的平面下方一定會有一個足夠容納膝部和小腿的空間,來解決這個問題。解決了這些問題的裝置,才能稱之為桌子。所以理解概念的背后用途,才能更好的解決問題。

3)  如何做好架構——識別問題

做好架構首先需要做的就是識別出需要解決的問題。一般來說,如果把真正的問題找到,那么問題就已經解決 80%了。這個能力基本上就決定了架構師的水平。我們要解決的問題不僅僅是表面上的工作,架構師需要完成的是隱藏的用戶實際需要解決的問題。最主要的兩個問題就是1. 這是誰的問題? 2. 有什么問題?架構師的主要任務大部分在於問題一上。

4)  如何做好架構——架構切分

很多時候問題的產生都是因為溝通的誤解,或者主觀上有很多不必要的利益訴求導致的。但是總還有一部分確實是有問題的,需要做調整,那么就必須要有所動作,做相應的調整。這個調整就是架構的切分。所以切分是利益的調整。切分也需要有原則,這四個原則是:連續時間內的活動不能切分;權利義務對等;不超出一個人的負載;對外部透明。總結下來,架構的切分的導火索是人的負載太重。架構的切分實際就是對 stakeholder 的利益進行切分或合並,使得每個stakeholder 的權責是對等的,每個 stakeholder 可以為自己的利益負責。架構切分的最終結果都會體現在組織架構上,只有這樣才能夠讓架構落地並推進。架構切分的結果一定是一個樹狀,這也是為什么會產生分層。層數越多溝通越多,效率越低,分層要越少越好。盡可能變成一顆平衡樹,才能讓整個系統的效率最大化。

5)  什么是軟件

軟件的本質,其實就是通過把人類的日常工作生活虛擬化,減少成本,提升單個人員的生產力,提升人類自己的利益。

6)  架構要解決什么問題

業務問題,計算機問題。有兩種架構:1. 軟件因為流量增大而分拆成不同的運行單元,在機器上部署所形成的架構,屬於軟件架構。 2. 每個運行單元為了讓不同角色的人,比如前端,業務,數據存儲等能夠並行工作,所分成的代碼架構,也屬於軟件架構。

7)  給架構師實權

好的架構師應該從別人的利益角度考慮,並且要讓別人知道自己的利益與義務之間是對等的。

8)  從架構考慮看如何寫好代碼

 

9)  理清技術業務架構之間的關系

准確識別采用什么技術的能力,也是架構師所要具備的能力之一。考慮的主要

因素也是長期的成本和收益。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM