2011-09-14 19 views
5

Estoy escribiendo una aplicación de prueba de websocket que tendrá una GUI para enviar varios comandos a través del websocket. En lugar de empaquetar todo el código de control (construcción de mensaje, formato, control) en las devoluciones de llamada para varios controles, estoy considerando hacer que cada devolución de llamada del elemento GUI (por ejemplo, onClick) envíe un evento a un delegado que pueda manejarlo. De esa forma, la GUI estaría separada de cualquier código de control. ¿Es eso un diseño "sensato", o hay otra "mejor práctica" para separar las dos partes?C# GUI y delegar el uso como capa de abstracción

Un ejemplo sería un control de sintonizador de TV: el usuario puede ingresar un número de canal a través del cuadro de texto, que no tendrá efecto hasta que haga clic en el botón 'Sintonizar'. El método onClick podría recuperar el número de canal del cuadro de texto y enviar un evento doTune (canal) al delegado para que suceda.

Pensamientos/consejos de bienvenida.

Gracias, pb

Respuesta

1

Este es de hecho un diseño sensato. Personalmente, no voy a realizar una llamada al evento, bastará con una llamada regular a una clase estática llamada 'SocketCommands'.

1

Eso es de hecho un diseño muy sensible - Lo que está haciendo es la promoción de una buena separación de las preocupaciones entre la capa de presentación (interfaz de usuario) y la capa de negocio (scripts de transacciones, servicios de dominio etc.)

Así que para responder a su pregunta, sí, es un diseño sano :)

Con respecto a los pensamientos/consejos, que sería un tema para programmers.stackexchange.com en vez de aquí ..

Cuestiones relacionadas