在Windows平臺(tái)做開發(fā)肯定會(huì)接觸到UI程序的編寫,以MFC的UI開發(fā)為例,可以開發(fā)單文檔,多文檔,對(duì)話框等形式的應(yīng)用。寫一個(gè)UI程序容易,寫好卻不是一件簡(jiǎn)單的事情。在整個(gè)代碼結(jié)構(gòu)的清晰性與可維護(hù)性方面需要多加注意。寫好UI程序需求注意以下幾點(diǎn):
1、圍繞數(shù)據(jù)編程與不是圍繞UI編程
當(dāng)我們拿到需求最先接觸到的就是UI的設(shè)計(jì),也許是美工畫的,也許是設(shè)計(jì)草圖。工程師在具體設(shè)計(jì)的時(shí)候容易受UI的影響,或者干脆從UI開始編程。
這是一個(gè)錯(cuò)誤的編程習(xí)慣,無論UI如何展現(xiàn)與交互,最終都應(yīng)該圍繞數(shù)據(jù)編程。拿到需求后,應(yīng)該先思考和推敲數(shù)據(jù)的設(shè)計(jì)與流轉(zhuǎn),UI不過就是數(shù)據(jù)的一種展現(xiàn)形式而已。
2、做好UI與邏輯的解耦
UI的編程會(huì)涉及到許多控件的操作,消息的處理,不知不覺,一個(gè)UI類的代碼會(huì)越寫越大,以至于一段時(shí)間以后,瀏覽和梳理都會(huì)變得不太方便。
在UI類里,除了與UI本身的操作有關(guān)的代碼以外,任何邏輯代碼都應(yīng)該與此解耦,并根據(jù)具體情況進(jìn)行封裝調(diào)用。如果一個(gè)控件關(guān)聯(lián)了太多數(shù)據(jù)操作,應(yīng)該把這些操作封裝到控件的繼承類中,把一類代碼進(jìn)行集中管理和維護(hù)。
上述問題,在程序?qū)懽鞯某跗谶€不太明顯,隨著代碼逐漸膨脹,會(huì)越會(huì)越讓人難以忍受。
3、數(shù)據(jù)單向依賴,單向更新
UI圍繞的數(shù)據(jù)進(jìn)行展現(xiàn)與更新,在這個(gè)過程中,所以對(duì)數(shù)據(jù)的操作應(yīng)該進(jìn)行封裝,而不是散落在UI程序在各個(gè)角落,數(shù)據(jù)的更新、獲取和UI傳遞消息時(shí),應(yīng)該單向操作,如果出現(xiàn)循環(huán)處理的情況,在以后維護(hù)調(diào)試的BUG的過程中會(huì)變得比較困難,導(dǎo)致維護(hù)效率下降。
posted on 2012-08-31 17:00
胡滿超 閱讀(1044)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
Windows開發(fā)