軟件架構(gòu)設(shè)計(jì)要關(guān)注哪些要點(diǎn),我一直在思考這個(gè)問題?人類有計(jì)劃的做事必有其強(qiáng)列的目的性,軟件開發(fā)活動(dòng)也不例外。軟件不可能由一個(gè)人完成,所以軟件的設(shè)計(jì)要分層,分模塊,便于人員分工,專業(yè)的人做專業(yè)的事情。軟件的開發(fā)需要傳承,鐵打的營盤流水的兵,簡單的設(shè)計(jì)是優(yōu)秀軟件的共性,用普通人就能理解的設(shè)計(jì)原則可以便于理念的傳承。為了傳承,文檔也很重要。文檔是時(shí)間流逝中最不容易產(chǎn)生二義性的媒介,好的文檔使經(jīng)驗(yàn)更好傳播;另外文檔化的工作之于設(shè)計(jì)階段,有利于思考的升華和快速成熟,比如將所懂一門知識寫成一本書,仍然需要很多總結(jié)和提升的工作。軟件的發(fā)布需要測試,靠人工驅(qū)動(dòng)效率太低,那么靠數(shù)據(jù)驅(qū)動(dòng)的自動(dòng)化測試能夠大大提高測試的效率。軟件的成果需要市場化,遇到問題要進(jìn)行反饋和解決,日志的設(shè)計(jì)很重要。當(dāng)工程師一下子面對幾M甚至幾十M的數(shù)據(jù)時(shí),很難快速理出頭緒。如果通過查看最后幾行,就能明晰程序的動(dòng)向,那程序的后期質(zhì)量進(jìn)步將變得很順暢。軟件的功能會發(fā)展,合理的抽象才能有效的應(yīng)對變化,當(dāng)我們可以預(yù)料到未來的變化,我們可以通過抽象接口的技術(shù)手段提前應(yīng)對。這樣版本在不斷演進(jìn)中,路不會越走越難。綜上所述,好的軟件設(shè)計(jì)需有具備以下特征:1、分層,分模塊2、簡單3、有文檔4、數(shù)據(jù)驅(qū)動(dòng)5、適量日志6、合理的抽象
posted on 2014-08-28 22:48
胡滿超 閱讀(696)
評論(0) 編輯 收藏 引用 所屬分類:
架構(gòu)設(shè)計(jì)