2010-03-19 9 views
5

Actualmente estoy refabricando un código que coordina múltiples componentes de hardware para la adquisición de datos, y me siento como si estuviera recreando la rueda. En particular, parece que surge un patrón MVC- como. Excepto, esto no tiene nada que ver con una GUI y me preocupa que estoy forzando este patrón en particular, donde otro podría ser más apropiado. Aquí está mi escenario:¿Cómo se llama una arquitectura generalizada (no relacionada con la GUI) "Modelo-Vista-Controlador"?

Las clases de "componentes" de hardware individuales obedecen los contratos de interfaz para cada tipo de hardware. Anteriormente, las instancias de los componentes eran orquestadas por una única clase monolítica de InstrumentController, que dependía en gran medida de la lógica de configuración + bifurcación para ejecutar una secuencia de adquisición específica. Después de una iteración, tengo un controlador por separado para cada componente, con estos controladores todos gestionados por un pequeño InstrumentControllerBase (o sus derivados). El sistema compuesto recibirá "entrada" ya sea programáticamente o a través de la activación de componentes entre hardware; en cualquier caso, estas interacciones se enrutan a, y son manejadas por, el controlador apropiado.

Por lo tanto, tengo algo que parece MVC-esque, pero no sé si eso es porque estoy forzando el punto. Con poca experiencia directa de MVC en el desarrollo de aplicaciones, es difícil saber si solo estoy tratando de hacer que mi escenario se ajuste a MVC, donde otro patrón podría ser una buena alternativa o complementario. Mi problema es que search results y wiki documentation de esta familia de patrones parece que me llevan inmediatamente a las discusiones específicas de GUI.

Entiendo que "M significa datos de modelo y la V significa vista", pero ¿cómo se llama el patrón de superconjunto? Componente-Comandante-Controlador?

¿De dónde puedo exhumar ejemplos ejemplares?

Respuesta

5

IMO una "vista" no es necesariamente un componente de la GUI. El patrón es más fácil de demostrar con las GUI, pero eso no limita su usabilidad a las GUI. Si funciona para usted, no se preocupe por el nombre :-) Y, por supuesto, siéntase libre de adaptarlo según sus necesidades.

Actualización: de kines más genéricas de MVC, el único ejemplo que apareció en mi mente (después de procesamiento en segundo plano de un día) es PAC.

+2

¡Gracias! Veo lo que quiere decir: Ver solo podría significar la superficie de interacción de un módulo que apunta externamente, u "objeto" si lo quiere :). Estaba interesado en las palabras clave, ya que estoy buscando buenos ejemplos del patrón fuera de la programación de GUI. –

+1

@David ver un posible candidato en mi actualización. –

+1

Gracias, sí, lo vi, pero me perdí la gran referencia de Avgeriou y Zdun: Paris Avgeriou; Uwe Zdun (2005). "Patrones arquitectónicos revisitados: un lenguaje de patrones". Actas de la 10ª Conferencia Europea sobre Lenguajes de Patrones de Programas (EuroPlop 2005), Irsee, Alemania, julio de 2005. pp. 1-39. (pdf: http://www.daimi.au.dk/MultiCore/attachment/wiki/StudyGroup08/Plan/) –