架構(gòu)師的第一步:學(xué)習(xí)兩種抽象視角(Abstraction View)
成都創(chuàng)新互聯(lián)公司專注于邊壩企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),商城系統(tǒng)網(wǎng)站開發(fā)。邊壩網(wǎng)站建設(shè)公司,為邊壩等地區(qū)提供建站服務(wù)。全流程按需搭建網(wǎng)站,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
第一種抽象視角:架構(gòu)師基于<變與不變分離>的視角,尋找<萬變不離其宗>的宗,其宗(架構(gòu))的不變性帶來簡單性;讓人們能透過掌握簡單來駕馭復(fù)雜(多變),落實了架構(gòu)師的職責(zé)。
第二種抽象視角:架構(gòu)師基于<形與內(nèi)涵分離>的視角,由于不同內(nèi)涵之間的<變與不變分離>已經(jīng)由第一種視角所抽象了。這個視角可從內(nèi)涵中抽像出共同之形,也可以(無中生有地)創(chuàng)造一種造形(Form)來容納內(nèi)涵(包括變與不變部分)。由于我們常常拿船運業(yè)的集裝箱(Container)來比喻<造形>;而拿形形***的貨品來比喻其(集裝箱)內(nèi)涵(Content)。所以上述的第二種視角,又稱為<集裝箱式>抽象視角。
實戰(zhàn)演練==>架構(gòu)師“集裝箱式”抽象視角
架構(gòu)師的第二步:關(guān)心下層的變動自由度(沒錢就改版,改版就有錢)
----架構(gòu)像什么? 有兩種常見的比喻。
架構(gòu)像房子的地基(第1種比喻):由于地基要穩(wěn)定,上層房子才不會倒塌;因此這項比喻讓架構(gòu)師認(rèn)為架構(gòu)要穩(wěn)定,上層的業(yè)務(wù)應(yīng)用才會穩(wěn)定可靠。這種比喻偏于尋找不變,而不是追求創(chuàng)新。
架構(gòu)像一棵樹的樹干(第2種比喻):由于樹根必須不斷成長,擁有隨環(huán)境而變動的自由度和活力;才能有效吸收更多水分和養(yǎng)分。這項比喻讓架構(gòu)師關(guān)心底層模塊(Module)的變動自由度。具有活力的樹根和樹干,才能有效之撐上層業(yè)務(wù)應(yīng)用的蓬勃發(fā)展。
實戰(zhàn)演練==> 維護(hù)底層模塊的變動自由度(第2種比喻)
架構(gòu)師的第三步:<系統(tǒng)架構(gòu)控制力>支撐<商業(yè)競爭話語權(quán)>
----軟件系統(tǒng)就像一個國家的軍隊,商業(yè)模式就像一個國家的實力。
架構(gòu)師的職責(zé)就是要在一個系統(tǒng)架構(gòu)體系中,替自己公司的軟件系統(tǒng)(或模塊)在架構(gòu)體系中,取得制高點、取得控制力。
一個企業(yè),如果在系統(tǒng)架構(gòu)體系中,處于弱勢地位的話;我們就很容易看出,它在商業(yè)競爭中,就難以取得話語權(quán)。
例如,曹操留給后代極高的政治智慧:挾天子以令諸侯。系統(tǒng)架構(gòu)師也能運用這項智能,來取得系統(tǒng)架構(gòu)體系中的控制力或主導(dǎo)權(quán),來支撐該公司商業(yè)競爭的話語權(quán)或強龍地位。再如,Android架構(gòu)師運用HAL驅(qū)動框架,來爭取眾多硬件廠商的支持,讓Android取得系統(tǒng)控制力,支撐Google的商業(yè)強勢地位。
實戰(zhàn)演練==> 掌以握<系統(tǒng)控制點>支撐<商業(yè)話語權(quán)>
架構(gòu)師的第四步:<用戶體驗>是讓用戶享受從簡單中叫出復(fù)雜的滿足感
----架構(gòu)設(shè)計就是架構(gòu)師從復(fù)雜中找出簡單的設(shè)計過程。架構(gòu)師從復(fù)雜中得出簡單,其目的是要讓開發(fā)者(Developer)能從簡單中反過來掌握復(fù)雜;或者讓用戶(User)能從簡單中叫出復(fù)雜,并獲得其中的滿足感。茲說明如下:
<用戶體驗是是讓用戶享受從簡單中叫出復(fù)雜的滿足感>這是蘋果公司喬幫主(Jobs)的名言。因為智能化設(shè)備的功能內(nèi)涵愈來愈復(fù)雜,如果缺乏有效的架構(gòu)師來設(shè)計出簡單,而讓用戶直接面對復(fù)雜,用戶會感到害怕;就欠缺滿足感。
在科學(xué)上也是如此。例如,牛頓從很復(fù)雜的力學(xué)中總結(jié)出了f=ma公式,大家就能從這簡單公式而去掌握復(fù)雜的力學(xué)了。愛因斯坦也一樣,他從復(fù)雜的規(guī)律中找出簡單的E=mc^2質(zhì)能互換公式,大家就能從這簡單公式而去了解復(fù)雜的質(zhì)能世界了。
為什么說它簡單呢? 理由之一是:公式的元素不超過三個,比如說,牛頓力學(xué)公式里只有F、m和a三個元素;愛因斯坦的公式也一樣,只有E、m和c三個元素。簡單的元素和公式(造形)卻蘊含極為複雜的內(nèi)涵。
同樣地,EIT造形的要素,也剛好就是三個。簡單的元素和造形卻蘊含極為復(fù)雜的內(nèi)涵,簡單而優(yōu)雅的接口<I>帶給開發(fā)者和用戶享受掌握復(fù)雜的滿足感。
實戰(zhàn)演練==> 從復(fù)雜設(shè)計出簡單,從簡單來掌握復(fù)雜
架構(gòu)師的第五步:創(chuàng)意愛上限制,即需求檢驗設(shè)計
----無論是移動應(yīng)用、物聯(lián)網(wǎng)等都涉及愈來愈多的系統(tǒng)組合與創(chuàng)新。而軟件開發(fā)愈來愈仰賴架構(gòu)設(shè)計,所以架構(gòu)師們亟需要去學(xué)習(xí)和領(lǐng)悟創(chuàng)意型的架構(gòu)設(shè)計模式。這種新模式中,最傳神的隱喻是,谷歌公司副總Marissa Mayer所提倡的:
“創(chuàng)意愛上限制"(Creativity lovesConstraint)。
她說:"創(chuàng)新來自愿景與限制的互動"(Innovation is born from the interactionbetween constraint and vision)。限制迫使架構(gòu)師重新審視愿景(Vision),從不同觀點切入,尋找新事物;同時也讓其聚精會神、厘清思路;非常具有創(chuàng)新性。這引導(dǎo)出架構(gòu)設(shè)計的兩個觀點:
觀點1:架構(gòu)來自需求。其意味著,基于需求而設(shè)計。也就是傳統(tǒng)的Rewquirement-based架構(gòu)設(shè)計。
觀點2:架構(gòu)基于愿景(Vision)的引導(dǎo),來自架構(gòu)師的創(chuàng)意。其意味著,基于愿景而設(shè)計,需求用來檢驗架構(gòu)。一旦創(chuàng)意設(shè)計<愛上>了需求的限制,架構(gòu)(設(shè)計)自然心甘情愿地滿足需求(限制)了。
既然是觀點,本身就沒有對錯。架構(gòu)師同時擁有多個觀點,常常會帶來更多創(chuàng)意的。
實戰(zhàn)演練==> 創(chuàng)意愛上限制,需求檢驗設(shè)計
架構(gòu)師的第六步:練習(xí)假設(shè)性思維,然後”Mappingfrom vision to reality”
----愿景是對未來成功情境的想象,含有濃厚的假設(shè)性(夢想)?;诩僭O(shè)情境而設(shè)計,常常讓許多人感到不安。由于,架構(gòu)師的職責(zé)是設(shè)計一個有效架構(gòu),既能支撐業(yè)主的愿景(Vision),又能滿足現(xiàn)時環(huán)境(Reality)的需求限制。也就是,架構(gòu)師要找出一條從愿景映射到現(xiàn)實的一條連線(Mapping from vision to reality),讓其它團(tuán)隊成員能依循這條線而去實現(xiàn)該假設(shè)性愿境(夢想),于是夢想成真了。在邁向智能化的大數(shù)據(jù)時代,熟練假設(shè)性思維是很關(guān)鍵的,理由是:
由于數(shù)據(jù)量的龐大和異型化(Different Fomat),如迷霧一般,欲取的市場競爭優(yōu)勢,如同想從大迷宮里找到出口,最有效的途徑是:基于(假設(shè)性)想象多個最可能的出口,然后逆向推理,倒過來尋找出有效的路徑(連線)。
蘋果公司喬幫主(Jobs)的名言:“你不可能在眺望未來時把生活中的每個點連接起來,只有回顧時能才連點成線?!痹S多人并不知道,他所提的就是架構(gòu)師的關(guān)鍵任務(wù):找到愿景(Vision)與現(xiàn)實(Reality)間的連線。這是有效架構(gòu)師必備修練。
實戰(zhàn)演練==> 練習(xí)<假設(shè)性思維>和 Mapping from vision to reality
架構(gòu)師的第七步:清晰而明確表述接口(Interface)
----基于前面第一步的兩個視角而抽象,都產(chǎn)生了<分離>的動作。分(離)是手段,而(組)合是目的。分離動作則產(chǎn)生了接口,做為后續(xù)組合的依據(jù)。分得愈美妙就能組得愈快速。分與合兩項動作,往往時間點不同,執(zhí)行者也不同;屬于跨時空、跨團(tuán)隊的分工。因而,主導(dǎo)分(離)的架構(gòu)師,必須清晰地表述接口,并明確傳達(dá)給擔(dān)任(組)合的人員。那么,又如何清晰表述接口呢? 有效的途徑是:擅用<EIT造形(Form)>。茲說明如下:
EIT造形是由3個類(Class)所構(gòu)成的。分別以<E>、<I>和<T>來代表之。從架構(gòu)師角度上,<I>屬于主角,而<E>和<T>是配角。搭配兩個配角,才能將<I>表述的完整而清晰。就如同英語,搭配了主詞(Subject)和受詞(Object) 兩個配角,就能夠?qū)釉~(Verb)表述得更完整而清晰。例如,
Play---沒有主詞和受詞,動詞<play>就顯得意義不夠清晰。
貓玩(play) 繡球---有了主詞和受詞,動詞<play>就顯得意義很清晰。
老師彈(play) 鋼琴---有了主詞和受詞,動詞<play>就顯得意義很清晰。
----搭配了兩個配角(主詞和受詞),主角(動詞)的涵意就顯得更完整而清晰了。同理,架構(gòu)師只要采用EIT造形,就能將接口表述得完整而清晰了。[歡迎光臨高煥堂的博客首頁:http://www.cnblogs.com/myEIT/ ]。
實戰(zhàn)演練==> 清晰而明確表述接口(Interface)
架構(gòu)師的第八步:盡快對接口進(jìn)行檢驗和測試
----基于EIT造形屬于代碼層級的造形,能迅速實現(xiàn)為軟件代碼,并進(jìn)行電腦的實際執(zhí)行、檢驗和測試。軟件的編程開發(fā)是一件費時的事情,等待各層面的細(xì)節(jié)設(shè)計&代碼開發(fā)之后,才進(jìn)行系統(tǒng)模塊之間的檢驗和整合測試,往往會將檢驗和測試工作時辰延后,這將大幅升高系統(tǒng)整合的風(fēng)險與提高項目開發(fā)的整體成本。尤其像Android平臺的終端<軟硬整合>產(chǎn)品開發(fā),硬件需要迅速與軟件進(jìn)行整合設(shè)計(Co-Design),才能有效降低軟硬整合的風(fēng)險,縮短開發(fā)時程,并提高產(chǎn)品可靠性。擅用EIT造形,將很容易落實這個步驟的任務(wù),如下說明:
EIT造形的<I>是主角,架構(gòu)師必須清晰而明確定義之。至于<E>和<T>都是配角,開發(fā)者可以做<假模塊(Mock)>來實現(xiàn)<E>或<T>配角,進(jìn)行對<I>的模擬測試。就如同飛機(jī)架構(gòu)師會設(shè)計<風(fēng)洞>來模擬測試飛機(jī)的機(jī)翼一般。
目前市場上,有許多測試環(huán)境提供了Mock-based的整合測試工具,能迅速開發(fā)出 Mock<E>和Mock<T>來測試<I>,非常有助于落實這個步驟的任務(wù)了。
例如,想測試Client與Server模塊之間的真實接口<I>。就能設(shè)計Mock<E>與 Client銜接;并且設(shè)計Mock<T>來與Server銜接;于是既使Cleint和Server兩個模塊都還沒開發(fā),也能迅速開發(fā)出 Mock<E>和Mock<T>來測試真實接口<I>。
實戰(zhàn)演練==> 盡快對接口進(jìn)行檢驗和測試
架構(gòu)師的第九步:設(shè)計<通用性>接口,成為框架(Framework)核心要素
----架構(gòu)師如何給自己創(chuàng)造重構(gòu)的自由度,以及支持開發(fā)者重構(gòu)的空間,是框架設(shè)計的關(guān)鍵議題。這種自由度,決定于架構(gòu)師是否能仔細(xì)分辨出:關(guān)注<未來的決策>與關(guān)注<今天決策的未來性>的微妙差異了。愈是能關(guān)注<今天決策的未來性>,而不是關(guān)注<未來的決策>,就愈能創(chuàng)造未來重構(gòu)的自由度。例如,EIT造形和框架的主角都是接口<I>,愈是關(guān)注<目前決策的未來性>時,就愈會想去設(shè)計通用性(General)<E>和<I>來包容未來<T>的多變化。而一群<E&I>的巧妙組合,就成為框架了。通用性接口有兩層意義:
容納買主需求(或選擇)的未來變化,或容納新買主的新選擇。茲拿汽車來做比喻,當(dāng)買主買了車子之后,未來隨時可以改變選擇(沙灘、公路或高山)。例如,買主未來決定將車子要到沙灘上跑時,只要更換新輪胎就行了;這展現(xiàn)出架構(gòu)師目前決策的未來性。
限制買主的選擇范圍。買主抉擇的改變,表現(xiàn)于應(yīng)用軟件(App)上,架構(gòu)師設(shè)計通用性接口來<框?。靖鞣NApp,限制買主的抉擇空間,才不會失控。這些通用性接口的有機(jī)整合體,就稱為軟件框架(用來框住App的架構(gòu))。
實戰(zhàn)演練==> 演練_設(shè)計通用性接口
架構(gòu)師的第十步:有效減法設(shè)計,才能開放加法(設(shè)計)
----幅員愈大的國度、大數(shù)據(jù)應(yīng)用愈發(fā)達(dá)的國度,加法(設(shè)計)的幅度就愈大。加法設(shè)計幅度愈大,系統(tǒng)的復(fù)雜性和差異化就愈顯著,此時標(biāo)準(zhǔn)化和統(tǒng)一化的呼聲就愈高。無論是標(biāo)準(zhǔn)化或統(tǒng)一化,都意味著加法設(shè)計的大量推進(jìn),導(dǎo)致系統(tǒng)復(fù)雜而難以駕馭;因而要求架構(gòu)師提出有效的減法設(shè)計方案,從復(fù)雜中設(shè)計出簡單,讓人們能從簡單中來掌控復(fù)雜。就架構(gòu)師而言,基于有效減法的架構(gòu)設(shè)計,才能開放人人去做加法設(shè)計。茲說明如下:
秦朝時代唯有書同文、車同軌的有效減法設(shè)計,才能開放加法,整并六國成唯一個大國。
唐朝的詩叫做七言絕句,如“姑蘇城外寒山寺,夜半鐘聲到客船”,一首詩四個句子,每一個句子七個字,它的韻律有兩個“平平仄仄平平仄,仄仄平平仄仄平”,這是唐詩的主要造形(Form)。
秦朝的<書同文、車同軌>,加上唐朝的<詩同形>,有效的減法設(shè)計,創(chuàng)造了大一統(tǒng)(加法)的輝煌國度。
君不見,在前面各步驟里,諸如:從復(fù)雜中設(shè)計出簡單、以需求檢驗設(shè)計等都是基于有效的減法設(shè)計,一方面給設(shè)備供貨商一個開放的加法設(shè)計空間;另一方面則讓用戶享受從簡單(來自減法設(shè)計)中叫出復(fù)雜的滿足感。
此外,在前面各步驟里,諸如:EIT造形、通用性接口和軟件框架(框住某些東西)等,則是減法設(shè)計的實踐技術(shù);基于這些有效的減法設(shè)計途徑,才能大幅開放加法設(shè)計;因而落實了:從簡單中掌握復(fù)雜。[歡迎光臨高煥堂的博客首頁:http://www.cnblogs.com/myEIT/ ]。
實戰(zhàn)演練==> 有效減法設(shè)計,才能開放加法
本文題目:[轉(zhuǎn)載]智能&大數(shù)據(jù)時代,架構(gòu)師思維的十個學(xué)習(xí)步驟&演練By高煥堂
文章路徑:http://aaarwkj.com/article8/jpddop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、網(wǎng)站設(shè)計公司、定制網(wǎng)站、響應(yīng)式網(wǎng)站、微信小程序、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)