《架構漫談》讀書筆記十

理清技術、業務和架構的關係架構

在不少人的概念裏面,架構和技術其實是等同的。學會了幾種技術,就認爲本身是架構師了,甚至是學習的技術越多,就以爲本身的水平越高。這樣其實是對本身很不負責任的。學習

 

要知道任何技術都是爲了解決某種問題而存在的,學會了技術,並不表明本身可以解決問題,這一點很是的重要。效率

 

什麼是技術技術

好比取火,最先人類只能靠打雷等天然現象產生火。取火其實就是一個業務目標,要解決的是人類本身的問題,這就是業務,實際就是人類的利益。這個時候人類沒有生火的技術,只能靠不斷的加木材,保持火不熄滅。後來人們發現了鑽木取火:只要用一個乾的木棍,在另外一個幹木表面快速的轉動,就能夠生火。這個辦法讓人類能夠自行創造火源,就產生了鑽木取火的技術。解決方案

 

也就是說:架構師

業務目標是爲了取火,鑽木取火這個技術的出現解決了這個問題。工作

鑽木取火的效率不高,影響了業務(取火)的效率,就有了進一步改進的動機,改進轉動木棍的方式,產生了弓弦轉動木棍的技術。ab

 

技術與架構,以及與業務之間的關係

技術老是在人類解決對業務的要求不斷提升的狀況下產生,目的也是爲了獲取更大更好的利益。因此:

技術是爲了解決業務的問題而產生的,沒有了業務,技術就沒有了存在的前提。

有了更好的技術,效率更差的技術,就會慢慢的被淘汰,消失,一切都聽從人類的利益訴求–也就是業務。有人會問,不用鑽木取火了,可是弓弦加速轉動木棍還能夠用啊? 沒錯,由於弓弦轉動木棍這個技術,不是來生火的,是用來加速木棍轉動的,所解決的問題不同。可是兩種不一樣的技術,合理結合起來,會更好更有效率的解決業務問題。

因此技術與技術之間,有兩種關係:

在解決同一個業務問題的前提下,更高效,更低成本的技術,會淘汰低效,高成本的技術。這是人類利益訴求所決定的。

通常剛開始解決根本問題的技術(鑽木取火)的效率是比較低的,只是把不可能變成了可能(從這一點上來講,技術纔是業務的enabler)。而後就會有提升效率的需求出現,要求改進這個技術。這個技術的低效率部分就會被其餘人(或者技術發明人本身)加以改進,這部分就會造成新的技術。

當關系2發生的時候,這個地方一定會造成一個切分,新技術會經過某種方式和原有的技術鏈接在一塊兒造成一個總體,讓這個新的技術能夠和原有技術共同工做,使得原有的技術能夠用更高的效率解決問題。由於要解決的主要問題(生火)並無發生改變,分拆所造成的是一個樹狀的結構。

按照前面的架構定義,這個時候其實已經產生了架構。也就是說,通常是先有技術,纔會有架構。這些其餘技術(弓弦拉動木棍),是從直接解決問題的初始主要技術中分拆出來造成的,並經過樹狀結構和主要技術(鑽木取火)組合在一塊兒。在解決主要問題(生火)以後,再開始逐漸的分拆爲更爲細粒度的技術(弓弦轉木棍)。

而這個細粒度的技術(弓弦轉動木棍)每每不會和業務的主要目標(生火)發生直接的關係。不一樣的技術,經過樹狀結構,組合在一塊兒,造成了一個完整的架構解決方案,共同完成業務的目標。這就是技術,業務和架構之間的關係。不少人把這個過程稱爲架構的進化,我更願意把這個過程稱爲技術的進步所致使的新的架構分拆,由於這個過程內在的動力,更多的是來自技術對解決業務問題的解決。

相關文章
相關標籤/搜索