2009-08-07 10 views
5

Estoy trabajando en una aplicación de GUI flexible que puede tener ~ 12 diseños variados. Estos diseños están bien definidos y no cambiarán. Cada diseño consiste en múltiples widgets que interactúan con un archivo DLL utilizando patrones de bits. Si bien la mayoría de los widgets son iguales, los patrones de bits utilizados varían según el tipo de interfaz que se presente.Interfaz XML vs Hardcoded?

Mi intuición es utilizar la herencia: defina un 'Panel' genérico y tenga subclases para las diferentes configuraciones. Sin embargo, hay partes de la interfaz que están definidas por el usuario y especificadas para ser especificadas en un archivo XML.

¿Debería definirse todo el panel en XML, o solo las secciones configuradas por el usuario?

Respuesta

10

YAGNI: Diseño de sus pantallas para las necesidades actuales, que usted específicamente estado no va a cambiar. Si un año más adelante se necesita más personalización, hágalo más personalizable y luego, no ahora.

KISS: Si usar XML da como resultado menos código general y es más simple que la creación de subclases, utilice XML. Si la subclasificación da como resultado menos código, use subclases. La experiencia me dice que crear subclases es más simple.

1

Mi sensación es que debe hacer lo que le de la mayor flexibilidad para cambiar de opinión, agregar nuevas funciones o ajustar el diseño en el futuro.

+5

Consejo peligroso. Programa en tiempo futuro, sí, pero siempre prefiriendo la flexibilidad puede crear una pesadilla de mantenimiento sin ningún beneficio real. – gimpf

Cuestiones relacionadas