下午空出了點(diǎn)時(shí)間,便按照昨天畫好的圖開始敲字,但敲著敲著就覺得有點(diǎn)和開始的初衷--隔離顯示和處理的想法有點(diǎn)不對(duì)了。如果將顯示控件傳入到對(duì)象中,如將_ctrlTrace傳入到ResultProcObject中,那么顯示代碼就要在對(duì)象中寫了,現(xiàn)在_ctrlTrace是wxTextCtrl,要是回頭換成其他的,難道要改ResultProcObject對(duì)象?這沒有道理啊。。。。按照功能隔離的說法,顯示本來就不該有ResultProcObject負(fù)責(zé)。其他的對(duì)象也有同樣的問題,因此,就再磨磨刀了~

為了能表示更清晰,這里將各對(duì)象的attributes和operations顯示了出來。新的方式是各對(duì)象在有數(shù)據(jù)到達(dá)時(shí),回調(diào)MainFrame的函數(shù),是顯示還是傳遞,且怎么顯示等,傳遞給哪個(gè)對(duì)象等等,都由MainFrame自己決定(另再抽象出一個(gè)對(duì)象用于處理顯示)。從圖中可以看出,現(xiàn)在對(duì)象間不在有關(guān)聯(lián)了,看著也比較符合OO設(shè)計(jì),嘿嘿~~唉,設(shè)計(jì)無止境啊,但也要小心--過度設(shè)計(jì)。。。就這樣了,再磨磨,刀都要磨成針了,表干活了~