架構的思想與指導原則——架構師的思維
一個人太不切實際,我們稱之好高騖遠;一個人有眼界視野,我們稱之高瞻遠矚。同樣是高、遠,為何描述著兩種完全不同的人?因為前者的好、騖講的都是追求,而後者的瞻、矚,指的卻是具體的行動。當我們把高遠的目標只作為一種追求,而不付諸於實踐的時候,就是不切實際;當我們把它變成“時時顧看”這樣的行動時,我們就漸漸地變得有眼界視野了。
所以志存高遠並沒有錯,只是要切忌不務實。這裡的“著眼於高遠”,便是架構師的基本修養,而幾乎所有的架構思維,都從這修養中來。
就架構來說,“高”就是指空間上的可擴充性,即系統的複雜性是否可以通過組成部件的增減來解決;“遠”就是指時間上的可持續性,即系統的規模是否可以劃分為多個時間階段來實施。以軟體架構為例,在討論系統——這一架構目標的屬性時,架構師可能關注的話題包括效能、可用性、可靠性等十餘種,我們可以通過高、遠兩個維度的思考將它們大致地分類,如圖4-1所示 。
如果我們說,這樣的圖是沒有意義的,因為它對一個工程的具體實施毫無意義,那麼這是專案經理的思維;如果問這樣的圖是如何以及用什麼樣的工具做出來的,又或者討論填以什麼樣的顏色更為漂亮,那麼這是程式設計師的思維。但是,如果我們問:在這個圖的形成中,我們做了什麼?那麼,這就是架構師的思維了。
如上這些談論,總的來說包括了修養與思維這兩個方面。其論述為:
(1) 我們做了一個語言文字中的高、遠與架構思維中的高、遠的比擬;
(2) 我們對架構思維中的高、遠進行了明確的定義;
(3) 我們將既有的架構方法置於上述定義,並嘗試消化其中的衝突;
(4) 我們確定上述思維的結果,是一種架構產出;
(5) 我們通過對比找出幾種思維模式的差異,並確定上述過程,即是架構師的思維;
(6) 我們通過回顧這一過程,證明架構思維過程的有效性:產出上述的架構。
在上面,我們反覆地運用架構思維,得到了兩個主要的架構產出,其一是“架構師的基本修養”,其二是“架構師的思維過程”。在這個過程中,不同階段我們使用了不同的思維工具,如表4-1所示。
任何一個優秀的架構師都有自己獨特的思考方式,這決定了他如何抽象系統,以及如何“創造性地”設計與構畫這個系統。例如,我們一直在討論的“架構思維”——這樣一個內在的系統與規則都是未可知的新東西。對此我們沒有現成的、成熟的詞彙去描述它,因而必須構建一個抽象系統,或對映或重現這個“架構思維”,進而闡述清楚它的架構與邏輯。
在這個過程中,我們需要三種能力:概念抽象能力、概念表達能力和基於概念的邏輯表達能力。我們已經展示了概念抽象能力,即上述步驟中的第1~3步;概念表達能力,即圖4-1與表4-1;概念的邏輯表達能力,即上述步驟中的第4~6步,以及至此你所看到的全部過程。
相關文章
- 架構與思維:微服務架構的思想本質架構微服務
- IT架構之IT架構模型——思維導圖架構模型
- IT架構之IT架構標準——思維導圖架構
- Apache 架構師總結的 30 條架構原則Apache架構
- 亞馬遜CTO的架構之道-儉約架構師的成本優先架構原則亞馬遜架構
- PHP技能架構思維導圖PHP架構
- 企業架構思維導圖架構
- 設計和架構:業務開發指導原則架構
- 如何建立架構師的立體化思維?架構
- 透視不同的架構思維,賞析架構之美架構
- 一個物聯網架構思維導圖架構
- 架構與思維:秒殺和競拍的業務架構,永不過時的話題架構
- Salesforce架構的10條原則Salesforce架構
- 設計微服務架構前應該瞭解的 5 項指導原則微服務架構
- 軟體架構與架構師架構
- 架構與思維:分散式鎖方案分析架構分散式
- 人人都是架構師: 約束和原則架構
- 架構師應該具備哪些思維模型?架構模型
- .NET 應用架構指導應用架構
- 雲原生架構的七個原則架構
- 面向服務架構(SOA)的原則架構
- JBI架構思想架構
- Apache 的架構師們遵循的 30 條設計原則Apache架構
- 架構之思-分析那些深入骨髓的設計原則架構
- 架構與思維:如何應對Redis熱Key?架構Redis
- 阿里P8架構專家的晉升法則(思維方法)阿里架構
- 阿里P7架構師告訴你Java架構師必須知道的 6 大設計原則阿里架構Java
- 架構師進階,微服務設計與治理的16條常用原則架構微服務
- 架構與思維:一定需要微服務麼?架構微服務
- 一個思維習慣,讓你成為架構師架構
- 架構師眼中的高併發架構架構
- 程式碼重構方向原則指導
- 彈性伸縮:高可用架構利器(架構+演算法+思維)架構演算法
- SOLID架構設計原則Solid架構
- 架構與思維:漫談高併發業務的CAS及ABA架構
- 軟體架構的核心思想架構
- SpringMVC的專案架構思想SpringMVC架構
- 剝析surging的架構思想架構