標籤:

架構思維

對於架構思維本身仍然是類似系統思維,結構化思維,編程思維等諸多思維模式的一個合集。由於架構的核心作用是在業務現實世界和抽象的IT實現之間建立起一道橋樑,因此架構思維最核心的就是要理解到業務驅動技術,技術為最終的業務服務。

因此要真正通過架構設計來完成業務和技術,需求和實現,軟體和硬體,靜態和動態,成本和收益等多方面的平衡

分解是最基礎的,架構的重點就是要對複雜問題進行分而治之,同時保證分解後的各個部分還能夠高內聚,松耦合,最終又集成為一個完整的整體。分解核心是定義問題,因此架構首先仍然需要理解清楚需求。

集成是配合分解完成的動作,最終分解完成的各個組件或子系統,通過合適的介面設計,最終還能夠集成為一個完整的整體,分解僅僅是加速開發和降低問題複雜度,如果分解後的內容無法集成在一起,那麼分解就沒有任何意義。分解+集成可以理解為架構最核心的思考方式和方法。

動態+靜態:一直是我強調的重要思維模式,架構思考裡面一定要注意這兩者的結合,即涉及到流程,用例等動態分析內容,又涉及到數據,類等靜態建模內容,而是兩者要高度協作起來完成整個架構思考。

復用是另外一個重要的思維,也可以理解為SOA參考架構的核心思考模式,包括最近談的最多的業務能力組件化,組件能力服務化,平台+應用,共享中心建設,共性能力下沉等都是談的復用的概念。及時你架構設計一個小系統,你也需要將各個模塊需要用的共性功能抽取為可復用的共性組件。

分層相對重要,架構在設計中要考慮分層,而核心仍然是資源+服務+應用的三大層,分為這三層仍然是SOA參考架構的核心思想。對於平台+應用更多只是上面分層模式的一個變形。分層的目的是通過分層既理清了整個應用的構建過程,又保證了各層之間的獨立設計和松耦合。

模式匹配:可以講是所有思維模式裡面的一個重點,而架構設計中的模式匹配就是要將最終的業務域問題匹配到對應的技術實現上面。即根據業務需求來挑選最適合的技術,而不是用主流和最先進的技術去反推業務。

抽象是架構思維裡面的一個重點,這裡面包括了兩個層面的內容,一個是常說的歸納方法,即各種類似場景的實現見的太多了,自然就歸納了一個規則或方法出來供以後的設計用。但是抽象更加重要,即將非類似場景中的共性內容也總結出來,進一步抽象為類似的東西,以更加方便的適應變更和各種變化。

結構化思維是架構思維必須具備的,最常用的兩種結構就是二維的表格和樹模型,通過結構化思維引入了維度和XY概念後,可以幫助我們更好的分析和比對,結構化決策等。對於多維模型,我們也要有意識的將其轉換為多個平面二維模型,方便我們進行分析。

迭代思維是架構思考中需要考慮的另外一個內容,沒有最優的架構,只有不斷進化的架構,只有最適合的架構。因此架構本身也在隨著業務需求的變化不算的迭代和演化,而不是追求用最新的技術一步到位。

最後即我們常說的系統思維,系統思維是架構思維中最重要的思維模式,一個架構師必須要有充分的全局思考的能力,做好前面談到各種平衡,追求整體的最優化而不是單個目標的最優。

推薦閱讀:

【認真想】《哲道行者》——舉重若輕的思辨教育
如何改變一個人的定勢思維?
這個讓對手增加10倍銷售量的法子得知道!
批判性思維再批判|王路

TAG:架构 | 思维 |