什么是架構(gòu)師
架構(gòu)師始終是一-個(gè)比較神秘的角色,就像架構(gòu)一樣,好像也沒有一個(gè)定論。
每個(gè)人心中的架構(gòu)師都是不一樣的,并且有一一個(gè)規(guī)律,都把自己搞不定的事情交給架構(gòu)師,以為架構(gòu)師就是能搞定自己搞不定的事情的人。那什么是架構(gòu)師呢?

全書總共33章的內(nèi)容,大家轉(zhuǎn)發(fā)關(guān)注小編,并且私信小編“學(xué)習(xí)”就可以拿到。
架構(gòu)師做什么
做什么事決定了一個(gè)人是什么人。為什么我們稱某個(gè)人為架構(gòu)師,肯定是因?yàn)樗谧隹梢员徽J(rèn)為是架構(gòu)師的事。那么哪些事是架構(gòu)師應(yīng)該做的呢?從前面我們所探討的什么是架構(gòu)可以看出:架構(gòu)的目的就是為了增長。
而要達(dá)到增長,就必須要把很多人合并起來做同一件事情,并且使他們做的事情合并起來達(dá)到1+1>2的效果,最少也要達(dá)到1+1=2的效果。而在現(xiàn)實(shí)生活中,人數(shù)增長到了一定的程度,溝通效率就會下降。到了一定程度,人越多產(chǎn)出反而越少。
這個(gè)時(shí)候就需要架構(gòu)師。
架構(gòu)師會把需要增長的業(yè)務(wù)了解清楚,挖掘出核心生命周期,并確定核心生命周期的主體。換句話說架構(gòu)師要發(fā)現(xiàn)問題的主體,并確定核心問題。在確定業(yè)務(wù)核心生命周期以及核心生命周期的主體之后,架構(gòu)師還需要對業(yè)務(wù)核心生命周期進(jìn)行分析,剝離出非核心生命周期,并根據(jù)當(dāng)前人員的狀況,合理地分配非核心生命周期的權(quán)責(zé)。這樣不同的人就可以并行地互不影響地做不同的事情,最后根據(jù)核心生命周期,把他們的工作成果組合起來,達(dá)到1+1>2的效果。
以上僅僅是把現(xiàn)在的問題解決好,還需要更進(jìn)一步,那就是根據(jù)對不同生命周期的運(yùn)營情況,對未來的增長做一定的預(yù)判,提前做好規(guī)劃,做相應(yīng)的人員、技術(shù)的儲備一這 就是戰(zhàn)略架構(gòu)。
業(yè)務(wù)、架構(gòu)和技術(shù)三者的關(guān)系
某天和朋友吃飯正好聊到這個(gè)話題,作為架構(gòu)師或者做技術(shù)的人,在開發(fā)軟件時(shí),他們基本就是在扮演上帝的角色:不但要?jiǎng)?chuàng)建出一個(gè)個(gè)的程序,還要讓這些程序能夠脫離他們在硬件上獨(dú)立運(yùn)行,以便為這個(gè)程序所服務(wù)的群體提供服務(wù)。
當(dāng)這個(gè)程序出現(xiàn)問題或者錯(cuò)誤(Bug )的時(shí)候,他們還要扮演牧師的角色,去修復(fù)這些問題。這不正是一個(gè)程序的社會嗎?和人類社會的演變何其相似! 軟件是模仿人類的,用人類演變的歷史來指導(dǎo)軟件開發(fā)工作是- 個(gè)很自然的想法,畢竟再次經(jīng)歷人類演變發(fā)展的歷史是很痛苦的。架構(gòu)師和程序員是決定軟件的關(guān)鍵人物,可見架構(gòu)師和程序員在扮演著多么重要的角色。
在軟件設(shè)計(jì)開發(fā)的過程中經(jīng)常 會看到,很多所謂的架構(gòu)討論實(shí)際上只是在討論某些技術(shù)的技術(shù)討論。在很多人看來,特別是軟件工程師,架構(gòu)和技術(shù)實(shí)際上是等同的。多學(xué)會了幾種技術(shù),就覺得可以做架構(gòu)師了。或者學(xué)會的技術(shù)越多,就覺得自己的架構(gòu)水平越高。
對于別的架構(gòu)師當(dāng)然也采用同樣的標(biāo)準(zhǔn)來評判。要知道,任何技術(shù)都是為了解決某種問題而存在的,學(xué)會了很多技術(shù),并不代表能夠利用這些技術(shù)來解決問題。學(xué)會的技術(shù)的多少,所帶來的差別只是解決問題的手段多了些而已。但是手段多了就一定是好事嗎?學(xué)會的技術(shù)越多,很多時(shí)候越不知道采用哪種技術(shù)更好,所謂“亂花漸欲迷人眼"。
還有另一-種很普 遍的現(xiàn)象:做技術(shù)的軟件工程師往往看不上業(yè)務(wù)。覺得技術(shù)更高端,而業(yè)務(wù)太平凡、太低端,并且業(yè)務(wù)人員總是給技術(shù)挖坑。而業(yè)務(wù)人員則覺得做技術(shù)的眼光高,但總是理解有偏差。技術(shù)人員往往對業(yè)務(wù)一知半解, 業(yè)務(wù)問題總是解決得不圓滿。但業(yè)務(wù)人員對此又無可奈何,因?yàn)樽约翰欢夹g(shù)。
業(yè)務(wù)、架構(gòu)和技術(shù)三者都是軟件行業(yè)從業(yè)者必須打交道的,這三個(gè)概念到底有什么異同?大家應(yīng)該怎么處理業(yè)務(wù)人員、技術(shù)人員還有架構(gòu)師的關(guān)系呢?
交易系統(tǒng)
交易系統(tǒng)是企業(yè)的核心系統(tǒng),如何建設(shè)好交易系統(tǒng)是一個(gè)很有趣的話題。通過對交易系統(tǒng)的分析,可以看到社會發(fā)展對軟件的影響,以及軟件架構(gòu)是如何在軟件中發(fā)揮作用的,同時(shí)軟件又是如何反過來推動社會發(fā)展的。
對于交易系統(tǒng),不同類型的企業(yè)各有其不同的特質(zhì)。制造業(yè)類的企業(yè)以制造為主,交易往往較弱,總是依賴于渠道類的企業(yè)幫助售賣。因此渠道類的企業(yè)往往是軟件虛擬化的先導(dǎo),而且以交易為主項(xiàng)。無論是哪種企業(yè),交易系統(tǒng)都是大同小異的,因?yàn)槠浜诵纳芷诙际且粯拥模?都是服務(wù)于交易雙方的。
各種交易系統(tǒng)的區(qū)別在于企業(yè)的產(chǎn)品不同,售賣的流程也不一樣。不同交易系統(tǒng)的最終目接下來就通過對交易系統(tǒng)的分析,忽略不同企業(yè)的交易系統(tǒng)之間行為的差異,從交易系統(tǒng)本身的職責(zé)拆分和架構(gòu)的拆分中,展現(xiàn)架構(gòu)是如何在軟件中應(yīng)用的。

大家轉(zhuǎn)發(fā)關(guān)注小編,并且私信小編“學(xué)習(xí)”就可以拿到。

每一個(gè)人對架構(gòu)都有不同的概念和理解,那你對架構(gòu)是怎么理解的呢?歡迎大家討論。