Acabo de reanudar el trabajo en un proyecto antiguo y he estado pensando en reescribir algunas partes del mismo.Tratando de seguir MVC - Buscando consejo sobre un buen diseño
Mi pregunta se refiere a cómo estructurar mi programa. He estado tratando de seguir el paradigma de MVC. Empezaré explicando dónde están las cosas: el programa manipula 4 tipos de imágenes: diagonales, oscuros, planos y luces. Tengo una clase llamada Image
que puede representar todo esto. El Sesgo y la Oscuridad se restan de la Luz y luego la Luz se divide por el Campo Plano. Inicialmente, iba a usar 2 clases para esto, una llamada CalibrationImage y la otra simplemente Light. Pero la diferencia era solo de un método que sería la función divisora que mencioné anteriormente. De lo contrario, son lo mismo. Así que decidí no tener dos clases para este propósito.
La segunda clase principal en el programa se refiere al manejo de objetos Image
múltiples: esta clase se conoce como ImageStacker
. A partir de ahora, tiene objetos Image
en una matriz mutable. Puede realizar varias operaciones en esta matriz, como apilar todas las imágenes, calibrarlas, etc.
Esta clase también actúa como el origen de datos para el objeto NSTableView
en la ventana principal. No estoy pensando que en lugar de tener una sola matriz mutable, debería tener 4 matrices, cada una de las cuales está designada para un tipo de imagen (como, una matriz para Luces, otra para Oscuros, etc.). Una vez que el programa comienza su trabajo real, Darks, Flat Fields y Bias frames. Luego calibrará cada objeto contenido en la matriz Lights y luego los apilará. Siento que esto proporciona al programa una progresión lógica. También es un poco fácil de visualizar.
¿Es este un buen programa de diseño? ¿Sigue a MVC? Como lo veo, mi vista es NSTableView
, el controlador es NSApplication
y el modelo es ImageStacker
. Pero entonces, Image
parece que no es parte del MVC pero no puedo ver cómo escribir el programa sin él.
¿Sería tan amable de indicarme un libro que considere que le da al sujeto un tratamiento adecuado? – saad