2010-04-25 18 views
6

Estoy a punto de iniciar una aplicación que tendrá interfaces de consola y GUI. Lo que quiero lograr es un desacoplamiento COMPLETO de la lógica de la aplicación desde la interfaz. En el futuro, también puedo agregar una interfaz web, y no quiero cambiar nada en mi aplicación.Práctica recomendada para una aplicación con GUI

Hay un buen ejemplo (tal vez algún proyecto de código abierto) donde puedo aprender cómo hacer esto correctamente ... también agradecería consejos/pautas sobre cómo hacer esto.

Gracias

Respuesta

4

una buena técnica para la lógica y el desacoplamiento de la interfaz de usuario son los patrones Model View Presenter y sus variantes (vista pasiva y controlador de supervisión). Hay escritos de martin fowler y también muchas publicaciones en el blog que presentan estos patrones.
También sugiero que busque otra variación de MVP, llamada Presenter First. theres una buena article de ello, y también una buena java code sample (busque por ejemplo Java)

1

Construir su funcionalidad del núcleo (1) y la versión de línea de comandos (2) primera (hasta el punto en que son más o menos funcionalmente completa). Tenga cuidado de diseñar/documentar su API cuidadosamente. De esta forma, no se puede mezclar la lógica y las partes de la GUI desde el principio.

Un ejemplo para una buena línea de comando desacoplada/aplicación GUI sería mplayer por ejemplo (aunque se podría argumentar que se siente como una aplicación de línea de comandos con una GUI pegada).

2

Fowler tiene una gran visión de conjunto de arquitecturas de GUI: http://martinfowler.com/eaaDev/uiArchs.html

Yo personalmente uso el PresentationModel construir a lo largo de mis aplicaciones - se mantiene el presentación lado de las cosas completamente separado de la lógica de negocios.

+0

¿Algún buen ejemplo que podría echar un vistazo? – user318247

Cuestiones relacionadas