¿Cuál es la mejor manera de separar la lógica de UI (diseñador / editor) del marco del paquete (como Visual Studio Package)?

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

Pregunta

Quiero separar las preocupaciones aquí. Cree e incruste toda la lógica de UI para el diseñador XML personalizado, el modelo de objetos, las validaciones, etc. en un ensamblaje separado. Entonces, el marco del paquete solo debe registrar la información del diseñador y solicitar un servicio de UI y todo funciona de forma mágica.

De esta manera no necesito jugar con el ensamblaje de Framework de paquete (Paquete de Visual Studio), cuando necesito modificar el diseñador de la interfaz de usuario.

Esta pregunta también se aplica a cualquier cosa en la que tengas que separar la lógica de la IU del marco de Skeleton que la carga, como un complemento.

Tengo varias opciones, un modelo de Proveedor de servicio, un modelo de complemento o puede ser otra.

Cualquier muestra, sugerencias de patrones, enlaces son bienvenidos.

Actualización 1: Lo que estoy buscando es un pensamiento como - " ¿Prism (Compuesto WPF) encaja a la perfección? ¿Alguien ha trabajado en un proyecto / aplicación que hace la separación de preocupaciones tal como lo mencioné anteriormente? etc " (Todavía estoy buscando respuestas)

¿Fue útil?

Solución

He creado un paquete de VS que carga un editor. El Editor se encuentra en un ensamblaje separado e implementa una interfaz que definí. El VSPackage funciona con la interfaz, por lo que cualquier cambio que realice en el editor (y su ensamblaje) no afectará al VSPackage siempre y cuando no cambie la interfaz.

Otros consejos

Lo que está preguntando acerca de las costuras se parece mucho a la separación de preocupaciones que MVC patrón intenta hacer cumplir.

ASP.NET MVC ya está disponible con un preview 5 .

Es principalmente para la web, pero creo que planean usarlo también para WinForms, pero no estoy seguro.

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