Pregunta

Esto puede parecer una pregunta ridícula ya que no tengo mucha experiencia en .NET.

¿Es posible construir componentes en C #, usando .NET, que se puede reutilizar en ASP.NET? Por ejemplo, si a uno le gustaría portar una aplicación a la web.

Si es posible, ¿qué tan portátiles son? Es decir. ¿Se puede reutilizar la GUI en alguna medida? ¿Existe un formato intermedio para usar como base o se requiere usar componentes de C # como binarios?

Gracias.

Editar:

¡Gracias por tu aporte! Estoy bastante familiarizado con los aspectos de diseño de este problema, es decir, cómo modelar componentes para su reutilización. Sin embargo, me hizo darme cuenta de que la pregunta realmente se trata: ¿Hasta qué punto es .NET reutilizable entre ASP y Windows? ¿Se puede decir que ciertos paquetes de componentes .NET son independientes del entorno y algunos son específicos de la plataforma?

¿Fue útil?

Solución

Absolutamente: una clase .NET puede usarse en cualquier tipo de aplicación .NET. Sin embargo, depende de la parte de la aplicación de la que estés hablando.

En general, las interfaces de usuario de Windows Forms NO son reutilizables como interfaces de usuario de ASP.NET, porque las restricciones de diseño son muy diferentes (es decir, los navegadores web solo admiten un pequeño número de controles, a menudo usan un diseño de flujo (no de cuadrícula), etc. De manera similar , los eventos son diferentes (un botón de formulario web no es lo mismo que un botón de formulario de Windows, etc.).

Lo que puede reutilizar fácilmente, sin embargo, si hace las cosas correctamente, es la lógica de negocios. Diseñe sus clases para que no sepan nada internamente sobre si se trata de un formulario de Windows o de un formulario web (o una aplicación de consola, un servicio web, etc.). Es decir, las clases deben ser implementaciones puras de su lógica empresarial. Luego puedes usar esas clases en el contexto que quieras.

Otros consejos

La respuesta breve a su pregunta es sí: simplemente separe el código que desea compartir entre las dos vistas en una clase independiente de la interfaz, preferiblemente en un ensamblaje separado, e incluya ese ensamblaje.

La respuesta larga es más complicada: la capacidad de hacerlo variará de una aplicación a otra. Podrá separar menos código para las aplicaciones de uso intensivo de la interfaz de usuario que no hacen mucho detrás de la escena (como, por ejemplo, algún tipo de juego de gráficos), de lo que hará para una aplicación de interfaz de usuario muy simple que hace mucho detrás. las escenas (digamos, una interfaz de usuario que consta de un solo botón que luego inicia un complejo proceso de manipulación de datos).

Al final, .NET proporciona la capacidad para que hagas esto. Su capacidad real para hacer esto dependerá mucho de sus propias habilidades de diseño y sus requisitos particulares. Hay muchos escritos disponibles sobre este tema; sugiero que empiece por echar un vistazo a los Patrones de diseño (aunque el libro original escribe ejemplos en C ++, creo que alguien ha hecho un libro con ejemplos en C #. Sin embargo, no puedo hablar con ellos). la calidad de la misma.)

Nunca lo he hecho antes, pero creo que puedes colocar el código común en una clase separada. La interfaz de usuario deberá duplicarse a medida que Windows Forms y asp.net tienen enfoques de programación completamente diferentes.

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