最近在迷上了看星際直播。《遊戲風雲》上一直播放G聯賽上的比賽,都是很是的精彩。看得多了,思緒就開始飄了。程序員
最讓我有感觸的就是星際大師們的各類策略對抗,大呼過癮。想一想咱們的設計工做,其實也是但願不少精彩出現,恰好星際能夠給我一點啓示。固然了,這些啓示不是技巧上的,而是方法學上的。設計模式
會想起本身學星際的歷史,以及如今所處位置,再展望一下星際大師們的方向。星際爭霸這個遊戲之因此這麼火熱,並且經久不衰,就是由於玩星際再也不是消磨時間,那已經能夠說是在玩一門藝術,而Blizzard公司精心打造着這個給你們展示能力的平臺。架構
也正是由於能夠談一門藝術,星際才具有了和設計這樣的藝術進行對比。他們的方法學上必然也是有相通的地方。下面就說說我對這方面的淺薄陋見,你們姑且聽之。我將星際的幾個境界,描述成五點:框架
招不在精,有兵則行!不少人在初期學打星際的時候,都是在和電腦較量。在戰勝電腦的過程當中進行學習。這個時候,電腦很笨,對咱們來講,有一點很是有效,那就是採集資源,全部的都用來造上兵!只要你有足夠的兵,你基本就能夠贏了。聽說此類戰法,在紅警中早就不覺得怪了。ide
設計也有這個時期。這在架構師剛剛學習設計一個系統的時候,常常容易使用的方式:分解完全部的功能,而後一個一個實現了。你能夠說是沒有設計的設計。但也確實是從程序員中成長起來的架構師們剛開始最迷茫的事。學習
剛開始的時候,要看不少架構方面的書。可是,因爲種種緣由,在腦海裏印象最深的就是那些類圖了。因而就將整個系統全部的地方,都用類圖進行完整表述一遍。這樣設計也就完了。網站
和玩星際同樣,你做爲這樣的架構師,不會感受設計是一件美妙的事情。你只是由於種種緣由而須要設計而已。對你來講,設計是一件枯燥的事情。設計
對於星際玩家,一個很是打的好處,就是有普遍的社區支持。論壇、網站、校園網、競技隊伍等等,這上面有各類各樣的介紹,還有戰報,錄像等等。咱們能夠從中看到各類各樣的打敗的招術。成天能夠爲這些戰術而津津樂道。遊戲
這在咱們設計裏也同樣。這個時候,咱們設計的時候,每每同一個問題,面對着多個方案。幾個設計師之間吵得最多的是各自的方法的優勢。慢慢地知道了,只說明本身的優勢只會引發更多的爭吵。所以慢慢學會,各自說明本身方法的缺點。這樣,你們在說出本身方法的同時,也慢慢開始接納其餘人的意見。這在咱們成長期間是不可缺乏的一步。資源
這個時候,設計等價於權衡。
對於各星際玩家來說,都知道光知道這些招數的是不夠的。關鍵在於探路。前期農民是最重要的,保住不死,取得對方重要信息。中期還得使用各類方式來獲取信息。高手歷來都不是靠猜對方的招術來贏的。我不是高手,每每是猜,因此老是要輸...
這個時期在咱們設計中也有對應。當設計師到達必定的程度的時候,提供解決方案已經不是關鍵問題了,而更重要的在於發現系統中的問題所在。系統中的變化點、難點、擴展點都是須要有敏銳的能力來發現的。
這正如你們在討論設計模式同樣。設計模式中的最關鍵的詞在於:「變化」。建立的變化、結構的變化、行爲的變化。全部模式都是基於這些變化而提出的。
因此在解決實際系統的時候,發現問題很是重要。固然了,在發現問題後,處理問題的能力也每每可以繼續深化下去。
好了,你們都是星際高手。前期情報獲取也很充分。你們最後的兵戎相見仍是不可避免地要發生了。雙方如今都有至關規模的軍隊。他們衝在一塊兒,會出現什麼狀況呢?
高手顯然不肯意將勝負交給偶然的因素。也不會接受勝利是由於碰巧。他們有各自的方式。最典型的就是多兵種配合。高科技輔助。最典型的就是天上地下,前沿後方,立體化戰鬥。而這裏面,不得不掌握的就是幾個高科技兵種。好比說神族的金甲,人族的地雷,蟲族的地刺。固然了,神族的魔法兵種多,方案比較多。
設計中對於一些比較流行的架構和方案也應該有足夠的瞭解。而且在適合的時候,將這些方案用到本身的系統中。使用這些新技術,不須要太拘泥於方式。關鍵在於解決問題。
因此說,好的架構師必定是可以熟練講述流行框架和設計的。這對於架構師的成長很是重要。無論培訓也好,看書也好,泡論壇也好,這方面必定要關注。
若是雙方的各類兵種配合得都不錯,或者說,對方的兵,看上去,簡直就是無懈可擊!你要怎麼辦呢?這也是我最前面提到的很是有感觸的地方。你們在戰鬥的時候,若是發現問題就是很是棘手。那麼每每會採起不少策略來破壞目前的狀態,而狀態的改變,每每就是弱點出現的時候。
我認爲大多高手都是在使用毛主席的優點兵力的策略。在兵力扯動的過程當中,讓對方發生錯誤,也要保證本身少犯錯誤。一旦發現問題,而後就集中優點兵力***小股兵力,逐步轉變優點情形。到最後佔絕對優點的時候,勝利就是看你興致了。
設計的最高境界是否是這樣,我不知道。但是架構師不免會遇到相似的問題。看上去,怎麼都是很是難啃的骨頭!真正的高手應該是去推進事情變化,從中再發現系統中的問題所在。從而找到問題的解決方案。另外,集中優點兵力,也是設計中的原則之一。可是,這點並非簡單地說,真正遇到問題的時候,如何集中優點兵力?這可能已經超出了架構的界限,可是確實是事情運營之道啊。
我上面妄談了一些設計的想法,主要是想借星際的學習過程,來描述設計的成長過程。說的不是技巧,而是狀態。我的覺得,狀態的理解,可以給咱們成長指出不少重要的方向。這也正是個人一點私念,但願能借此對你們有點幫助。