我剛剛恢復了一箇舊項目的工作,並一直在考慮重寫它的某些部分。試圖遵循MVC - 在一個好的設計上尋求建議
我的問題涉及如何構建我的程序。我一直在試圖遵循MVC範式。我將首先解釋事情的立場:該程序處理4種類型的圖像:偏壓,黑暗,平場和燈光。我有一個名爲Image
的課程,可以表示所有這些。從光中減去偏壓和暗光,然後光由平場分開。最初,我將爲此使用2個類,一個叫CalibrationImage,另一個叫Light。但差異只是一種方法,這將是我上面提到的分割功能。否則,他們是一樣的。所以我決定不要爲此而設兩個班。
該計劃中的第二個主要課程涉及處理多個Image
對象 - 此類被稱爲ImageStacker
。截至目前,它將Image
對象保存在可變數組中。它可以對此陣列執行各種操作,如堆疊所有圖像,校準它們等。
此類還可用作主窗口中NSTableView
對象的數據源。我沒有想過,而不是有一個單一的可變數組,我應該有4個數組,每個數組都持有一個圖像類型(例如,一個數組的燈光,另一個黑暗等)。一旦程序開始其實際工作,它將黑暗,平場和偏置幀。然後它將校準Lights數組中保存的每個對象,然後將它們堆疊起來。我覺得這樣可以爲程序提供合理的進程。它也易於可視化。
這是一個很好的程序設計嗎?它遵循MVC嗎?正如我所看到的,我的觀點是NSTableView
,控制器是NSApplication
,型號是ImageStacker
。但是,然後,Image
感覺它不是MVC的一部分,但我不知道如何編寫沒有它的程序。
請您指點一本書,您認爲這本書可以給予適當的治療嗎? – saad 2011-06-10 21:17:35