¿Conoce algún patrón para la programación GUI?(No patrones sobre el diseño de GUI)

StackOverflow https://stackoverflow.com/questions/11263

  •  08-06-2019
  •  | 
  •  

Pregunta

Estoy buscando patrones relacionados con la codificación de partes de una GUI. No tan global como mvc, con el que estoy bastante familiarizado, pero patrones, buenas ideas y mejores prácticas relacionadas con controles y entradas únicos.

Digamos que quiero crear un control que muestre algunos objetos que pueden superponerse.Ahora, si hago clic en un objeto, necesito saber qué hacer (simplemente encontrar el objeto lo puedo hacer de varias maneras, como un árbol cuádruple y un orden Z, ese no es el problema).Y también puedo mantener presionada una tecla modificadora, o algún objeto está activo desde el principio, haciendo que la selección o lo que sea sea un poco más complicado.¿Debería tener una instancia de objeto que represente un objeto de pantalla, manejar la acción del usuario cuando se hace clic o una clase magistral?etc..¿Qué tipo de patrones o soluciones existen para problemas como este?

¿Fue útil?

Solución

Para ser honesto, creo que es mejor que usted mejore sus patrones de diseño estándar y los aplique a los problemas individuales que enfrenta al desarrollar su interfaz de usuario.

Si bien existen "temas" comunes de la interfaz de usuario (como tratar con teclas modificadoras), la implementación real puede variar ampliamente.

tengo el de o'reilly Primero los patrones de diseño y El poster, ¡lo cual he encontrado invaluable!

Enchufe descarado:Estos enlaces utilizan mi ID de asociado.

Otros consejos

Diseño y patrones orientados a objetos de Cay Horstmann tiene un capítulo titulado "Patrones y programación GUI".En ese capítulo, Horstmann aborda los siguientes patrones:

  • Administradores de diseño de observadores y el
  • Componentes del patrón de estrategia,
  • Contenedores y el patrón compuesto
  • Barras de desplazamiento y patrón decorador

No creo que el beneficio de los patrones de diseño provenga de tratar de encontrar un patrón de diseño que se ajuste a un problema.Sin embargo, puedes usar algunas heurísticas para ayudar a limpiar un poco tu diseño, como mantener la interfaz de usuario lo más desacoplada posible del resto de los objetos de tu sistema.

Hay un patrón que podría ayudar en este caso, el Patrón de observador.

Sé que dijiste que no es tan global como MVC, pero existen algunas variaciones de MVC, específicamente HMVC y PAC, que creo que pueden responder preguntas como las que planteas.

Aparte de eso, intente escribir código nuevo "en el espíritu" de los patrones existentes, incluso si no los aplica directamente.

¿Quizás estés buscando algo como 'MouseTrap' que vi en algunos artículos sobre codeproject (busca UI Platform)?

Esta serie también me resultó muy útil. http://codebetter.com/jeremymiller/2007/07/26/the-build-your-own-cab-series-table-of-contents/ donde podría echar un vistazo a los controladores integrados, etc.

Micha.

Estás ante una programación de aplicaciones profesional.Busqué consejos y trucos durante mucho tiempo, sin éxito.Desafortunadamente no encontrarás nada útil, es un tema complicado y sólo con muchos años de experiencia podrás entender cómo escribir una aplicación de manera eficiente.Por ejemplo, casi todos los programas abren un archivo, extraen información, la muestran de diferentes formas, permiten procesarlo, guardarlo,…pero nadie explica exactamente cuál es la buena estrategia y demás.Además, si está escribiendo una aplicación grande, debe considerar algunas estrategias para reducir el tiempo de compilación (de lo contrario, esperará horas en cada compilación).Los modismos impls en C++ te ayudan, por ejemplo.Y luego hay mucho más.Por esta razón los desarrolladores de software están bien pagados y hay tantos trabajos :-)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top