我刚刚恢复了一个旧项目的工作,并一直在考虑重写它的某些部分。试图遵循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