[轉載]智慧&大資料時代, 架構師思維的十個學習步驟&演練 By 高煥堂
-
第一種抽象視角:架構師基於<變與不變分離>的視角,尋找<萬變不離其宗>的宗,其宗(架構)的不變性帶來簡單性;讓人們能透過掌握簡單來駕馭複雜(多變),落實了架構師的職責。
-
第二種抽象視角:架構師基於<形與內涵分離>的視角,由於不同內涵之間的<變與不變分離>已經由第一種視角所抽象了。這個視角可從內涵中抽像出共同之形,也可以(無中生有地)創造一種造形(Form)來容納內涵(包括變與不變部分)。由於我們常常拿船運業的集裝箱(Container)來比喻<造形>;而拿形形***的貨品來比喻其(集裝箱)內涵(Content)。所以上述的第二種視角,又稱為<集裝箱式>抽象視角。
-
架構像房子的地基(第1種比喻):由於地基要穩定,上層房子才不會倒塌;因此這項比喻讓架構師認為架構要穩定,上層的業務應用才會穩定可靠。這種比喻偏於尋找不變,而不是追求創新。
-
架構像一棵樹的樹幹(第2種比喻):由於樹根必須不斷成長,擁有隨環境而變動的自由度和活力;才能有效吸收更多水分和養分。這項比喻讓架構師關心底層模組(Module)的變動自由度。具有活力的樹根和樹幹,才能有效之撐上層業務應用的蓬勃發展。
-
架構師的職責就是要在一個系統架構體系中,替自己公司的軟體系統(或模組)在架構體系中,取得制高點、取得控制力。
-
一個企業,如果在系統架構體系中,處於弱勢地位的話;我們就很容易看出,它在商業競爭中,就難以取得話語權。
-
例如,曹操留給後代極高的政治智慧:挾天子以令諸侯。系統架構師也能運用這項智慧,來取得系統架構體系中的控制力或主導權,來支撐該公司商業競爭的話語權或強龍地位。再如,Android架構師運用HAL驅動框架,來爭取眾多硬體廠商的支援,讓Android取得系統控制力,支撐Google的商業強勢地位。
-
<使用者體驗是是讓使用者享受從簡單中叫出複雜的滿足感>這是蘋果公司喬幫主(Jobs)的名言。因為智慧化裝置的功能內涵愈來愈複雜,如果缺乏有效的架構師來設計出簡單,而讓使用者直接面對複雜,使用者會感到害怕;就欠缺滿足感。
-
在科學上也是如此。例如,牛頓從很複雜的力學中總結出了f=ma公式,大家就能從這簡單公式而去掌握複雜的力學了。愛因斯坦也一樣,他從複雜的規律中找出簡單的E=mc^2質能互換公式,大家就能從這簡單公式而去了解複雜的質能世界了。
-
為什麼說它簡單呢? 理由之一是:公式的元素不超過三個,比如說,牛頓力學公式裡只有F、m和a三個元素;愛因斯坦的公式也一樣,只有E、m和c三個元素。簡單的元素和公式(造形)卻蘊含極為複雜的內涵。
-
同樣地,EIT造形的要素,也剛好就是三個。簡單的元素和造形卻蘊含極為複雜的內涵,簡單而優雅的介面<I>帶給開發者和使用者享受掌握複雜的滿足感。
-
觀點1:架構來自需求。其意味著,基於需求而設計。也就是傳統的Rewquirement-based架構設計。
-
觀點2:架構基於願景(Vision)的引導,來自架構師的創意。其意味著,基於願景而設計,需求用來檢驗架構。一旦創意設計<愛上>了需求的限制,架構(設計)自然心甘情願地滿足需求(限制)了。
-
由於資料量的龐大和異型化(Different Fomat),如迷霧一般,欲取的市場競爭優勢,如同想從大迷宮裡找到出口,最有效的途徑是:基於(假設性)想象多個最可能的出口,然後逆向推理,倒過來尋找出有效的路徑(連線)。
-
蘋果公司喬幫主(Jobs)的名言:“你不可能在眺望未來時把生活中的每個點連線起來,只有回顧時能才連點成線。”許多人並不知道,他所提的就是架構師的關鍵任務:找到願景(Vision)與現實(Reality)間的連線。這是有效架構師必備修練。
-
Play---沒有主詞和受詞,動詞<play>就顯得意義不夠清晰。
-
貓玩(play) 繡球---有了主詞和受詞,動詞<play>就顯得意義很清晰。
-
老師彈(play) 鋼琴---有了主詞和受詞,動詞<play>就顯得意義很清晰。
-
EIT造形的<I>是主角,架構師必須清晰而明確定義之。至於<E>和<T>都是配角,開發者可以做<假模組(Mock)>來實現<E>或<T>配角,進行對<I>的模擬測試。就如同飛機架構師會設計<風洞>來模擬測試飛機的機翼一般。
-
目前市場上,有許多測試環境提供了Mock-based的整合測試工具,能迅速開發出 Mock<E>和Mock<T>來測試<I>,非常有助於落實這個步驟的任務了。
-
例如,想測試Client與Server模組之間的真實介面<I>。就能設計Mock<E>與 Client銜接;並且設計Mock<T>來與Server銜接;於是既使Cleint和Server兩個模組都還沒開發,也能迅速開發出 Mock<E>和Mock<T>來測試真實介面<I>。
-
容納買主需求(或選擇)的未來變化,或容納新買主的新選擇。茲拿汽車來做比喻,當買主買了車子之後,未來隨時可以改變選擇(沙灘、公路或高山)。例如,買主未來決定將車子要到沙灘上跑時,只要更換新輪胎就行了;這展現出架構師目前決策的未來性。
-
限制買主的選擇範圍。買主抉擇的改變,表現於應用軟體(App)上,架構師設計通用性介面來<框住>各種App,限制買主的抉擇空間,才不會失控。這些通用性介面的有機整合體,就稱為軟體框架(用來框住App的架構)。
-
秦朝時代唯有書同文、車同軌的有效減法設計,才能開放加法,整並六國成唯一個大國。
-
唐朝的詩叫做七言絕句,如“姑蘇城外寒山寺,夜半鐘聲到客船”,一首詩四個句子,每一個句子七個字,它的韻律有兩個“平平仄仄平平仄,仄仄平平仄仄平”,這是唐詩的主要造形(Form)。
-
秦朝的<書同文、車同軌>,加上唐朝的<詩同形>,有效的減法設計,創造了大一統(加法)的輝煌國度。
-
君不見,在前面各步驟裡,諸如:從複雜中設計出簡單、以需求檢驗設計等都是基於有效的減法設計,一方面給裝置供貨商一個開放的加法設計空間;另一方面則讓使用者享受從簡單(來自減法設計)中叫出複雜的滿足感。
-
此外,在前面各步驟裡,諸如:EIT造形、通用性介面和軟體框架(框住某些東西)等,則是減法設計的實踐技術;基於這些有效的減法設計途徑,才能大幅開放加法設計;因而落實了:從簡單中掌握複雜。[歡迎光臨高煥堂的部落格首頁:http://www.cnblogs.com/myEIT/ ]。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/653579/viewspace-2135620/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 聽高煥堂講架構架構
- 大資料時代,從零學習資料思維大資料
- 一個思維習慣,讓你成為架構師架構
- 正思維的操作步驟
- 大資料開發過程中的5個學習通用步驟大資料
- 敏捷思維-架構設計中的方法學 (轉)敏捷架構
- MySQL資料庫架構——高可用演進MySql資料庫架構
- 大資料架構師大資料架構
- 大資料思維10個原理大資料
- 資料庫設計---即資料庫架構設計的幾個步驟資料庫架構
- 架構的思想與指導原則——架構師的思維架構
- 保護SQL Server的十個步驟(轉)SQLServer
- 如何建立架構師的立體化思維?架構
- 【java】架構演變學習Java架構
- 十幾位資深架構師,整理了最新架構師學習體系,分享給大家!架構
- 好程式設計師大資料學習筆記:Storm架構程式設計師大資料筆記ORM架構
- 智慧資料視覺化的5個步驟視覺化
- 大話資料結構-思維導圖資料結構
- 4個步驟帶你搞定大資料,Linux到大資料學習路線資料(絕對必看)大資料Linux
- [資料思維]資料師的願景
- 大資料架構師從入門到精通 學習必看寶典大資料架構
- 好資源分享 奈學教育《大資料架構師》大資料架構
- FunData — 電競大資料系統架構演進大資料架構
- 資料架構師、資料分析師、資料工程師,有啥不同,哪個工資高?架構工程師
- 彈性伸縮:高可用架構利器(架構+演算法+思維)架構演算法
- 奈學教育《大資料架構師》課程大綱(1)大資料架構
- .NET 雲原生架構師訓練營(系統架構)--學習筆記架構筆記
- 架構師應該具備哪些思維模型?架構模型
- Java WEB學習資料,思維導圖JavaWeb
- 架構師升級步驟和平時的工作內容!架構
- 架構師升級步驟和平時的工作內容架構
- 【新炬網路名師大講堂】TimesTen記憶體碎片(高水位)回收步驟詳解記憶體
- 今日頭條架構演進之路 — 高壓下的架構演進架構
- 第0篇:學習資料結構和演算法的框架思維資料結構演算法框架
- 資料治理:資料整合架構的演進架構
- DCCI:大資料時代的5個轉變大資料
- 京東推薦系統架構揭祕:大資料時代下的智慧化改造架構大資料
- 【IT名人堂】專訪架構運維總監劉秋岐:DBA向架構師轉型的成功之路架構運維