不管咱們是從零開始構建系統,仍是重構系統,其實架構都在系統了。
若是你有主動作架構設計,那確定須要遵循必定的原則去探索和發現架構。
若是你沒有作架構設計,但根據行業通用標準或者經驗,用一套代碼(開源或內部模板)來開發。其實這裏面就會有架構設計,只是你沒有意識到。架構
固然要主動作架構設計,被動是要捱打的。所謂「作事不能沒有原則」,主動作架構設計,首先要懂設計思惟的原則。下面將講解設計思惟的原則。spa
設計思惟的原則
設計思惟的原則那就像《孫子兵法》總編同樣,指導咱們如何思考和解決問題的方向。這裏咱們參考下《Design Thinking:Understand-Improve-Apply》書中的四條基本的設計思惟原則:
1.以人爲本:設計的本質是社交。
2.推遲決策:推遲不肯定的決策。
3.善於借鑑:全部的設計都是在已有設計基礎上的從新設計和調整創新。
4.化虛爲實:讓想法具體化、有形化、以便於溝通交流。.net
設計思惟原則的四字真言仍是有點抽象的,下面說明下個人我的理解,以及該如何運用這些原則。架構設計
以人爲本
爲何說設計的本質是社交呢?由於設計自己是圍繞人開展的工做,必然蘊含人的思想和意圖在裏面,並且特別是軟件架構設計必然是須要多人蔘與和溝通的。設計的每一個決策都影響着系統的利益相關方。若是設計不能被你們所理解,那確定不會是好的做品(系統)。設計
架構設計是須要與利益相關方協做完成的,設計的好壞也取決於與利益相關方協做狀況。所以,架構師要有同理心,懂得換位思考和溝通,尊重利益相關方(開發人員、項目經理、業務需求方、系統操做者等),傾聽他們的心聲,理解他們的意圖。這樣,架構設計才能發揮它應有的做用。blog
推遲決策
開發軟件過程當中最忌模棱兩可、不肯定的需求、設計等,由於可能會有重大的項目風險。所以,設計的決策必須是明確的。若是設計的決策存在沒法明確的需求、設計、人員狀況等因素,則不到不得不決策的時刻,就不要急着作出最終的決策。這樣咱們就能更從容地面對開發環境的變化。開發
善於借鑑
善於借鑑就是告誡咱們不要重複造「輪子」了。例如,不少開發部門人員比較多的公司,若是沒有作好技術知識沉澱,很容易公司內部就出現重複造「輪子」的狀況。善於借鑑的前提是你瞭解或熟悉不少「輪子」,因此建議你們作好技術知識沉澱,多瞭解行業技術。get
作架構設計以前,咱們應該儘可能多花點時間研究和參考已有的設計,而不是從零開始作設計。借鑑前人的經驗,就能避雷和高效地進行架構設計。原型
化虛爲實
呈現架構設計的方式有不少種,可能對開發人員來講,看下代碼就能夠了,但不一樣的角色對架構設計的理解水平是不同的。對於代碼形式的架構設計,只有技術人員能看懂,對於其餘人來講就難以理解。模板
所以,爲了講解架構設計,須要針對不一樣的利益相關方使用不一樣的展示方式。例如,製做原型或簡單的模型,流程圖,時序圖,概念圖等等。反正就是以方便他人理解架構設計爲目的地進行呈現。
總結
設計思惟原則是咱們設計架構的「孫子兵法」總編。它指明瞭設計架構的方針,幫助咱們正確地進行設計。
原則仍是須要具體的作事模式,讓咱們有方法可遵循,下篇文章將講解架構設計思惟模式