1、架構設計是件容易的事情。
2、架構設計不是件簡單的事情。
雖然架構設計是件容易的事情,但也不是大多數沒有架構設計經驗的程式員想象中的畫畫框圖那麼簡單。把幾台伺服器一擺,每一台伺服器運作什麼軟體配置設定好,然後用網絡連接配接起來,似乎每個企業級應用都是如此簡間單單的幾步。但現實生活中的軟體系統實實在在可以用複雜大系統來形容,從規劃、開發、維護和變更涉及到許許多多的人和事。架構設計就是要在規劃階段都把後面的事情盡量把握進來,要為穩定性努力,還要為可維護性、擴擴充性以及諸多的性能名額而思前想後。除了技術上的考慮,還要考慮人的因素,包括人員的組織、軟體過程的組織、團隊的協作和溝通等。也許你會說那些都是項目管理上的事,和架構設計沒關系。但一個團隊成員無法實作的架構沒有任何實際意義。另外,現在是解決方案滿天飛的時代,很多事情都可以用多種途徑來解決,如何在五花八門的選項中間做出決定,可能讓很多人都頭疼過。自己的經驗、團隊的素質、上司的要求、環境的壓力以及市場的變化,夠折騰了。
3、架構設計需要方法論的指導
是以,總的說來,在正确的方法論指導下,複雜的架構設計其實是件容易的事情。這些方法論的思路包括,至上而下的分析,關注點分離,橫向/縱向子產品劃分等。有時候覺得架構設計決策就像是浏覽Google Earth,實際上反映的是一種自上而下的決策過程。對問題的分解是軟體思維的基本素質,可以有橫向分解、縱向分解以及兩者的結合。能不能有效快速準确的分解問題,是軟體開發人員需要首先訓練的項目。另外,架構設計中圖形化的工具非常有用,它能把系統的結構和運作機制以圖形化的方式表達出來。也正因為這樣才有了架構設計就是畫框圖的誤會。再者,架構設計是一個工程性質的工作,對當事人的實際從業經驗要求較高。隻有對市場上的各種技術有較全面的了解之後才有可能設計出一個盡可能滿足各種設計限制的架構。
先說這麼多吧,算是一個開場白。歡迎關注後面的詳細内容。
版權
作者:靈動生活 郝憲玮
如果你認為此文章有用,請點選底端的【推薦】讓其他人也了解此文章,

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。