none
Duda sobre MVC RRS feed

  • Pregunta

  • Buenas, tengo una duda acerca de como desarrollar una aplicación web. He creado una solución, y la he separado en 3 capas (Proyectos) Entidades del Negocio, Acceso a Datos y Lógica del Negocio ahora pretendo realizar una 4 capa que es la presentación. En cuya capa pretendo crear un proyecto web aplicación ASP.NET MVC 4 con razor. Mis preguntas son las siguiente:

    La arquitectura que estoy usando es la adecuada para una aplicación web?

    Como implementaría el patron MVC en mi capa de presentación?

    Me pudieran dar un ejemplo

    Gracias. 

    lunes, 7 de octubre de 2013 3:33

Respuestas

  • Sí, la arquitectura que propones es igualmente válida para una aplicación web que para una de escritorio. Básicamente, todas las capas menos la de presentación serían las mismas en ambos tipos de aplicación.

    Para implementar con MVC la capa de presentación, lo más sencillo es usar la plantilla para una aplicación MVC en Visual Studio, y una vez que Visual Studio crea la aplicación, añadir Referencias a las DLLs en las que hayas programado las partes relevantes (entidades de negocio y lógica de negocio). Nótese que no es obligatorio que estén en DLLs separadas, también podrías compilar estas capas junto con la de presentación copiando los fuentes a un subdirectorio en el proyecto web.

    Las llamadas desde la capa de presentación a la de negocio se harían desde el Controlador que trata la capa de negocio como una subrutina, siendo completamente transparentes para el Modelo y la Vista.

    A la hora de mover los datos desde el controlador a la vista por mediación del modelo, se puede usar como modelo la misma entidad de negocio que se recibió desde la capa de negocio en los casos en los que los datos a presentar en la vista coincidan con los que se recuperan en esa entidad. Cuando no coincidan, habrá que crear una clase nueva para usarla como Modelo (algunos documentos llaman a esta clase "VistaModelo" para distinguirla de los Modelos tomados desde las entidades de negocio). Será responsabilidad del Controlador mover los datos desde la entidad de negocio a la clase usada como Modelo para pasarla a la Vista.

    • Marcado como respuesta Martin Pinedo miércoles, 9 de octubre de 2013 1:22
    lunes, 7 de octubre de 2013 9:46

Todas las respuestas

  • Sí, la arquitectura que propones es igualmente válida para una aplicación web que para una de escritorio. Básicamente, todas las capas menos la de presentación serían las mismas en ambos tipos de aplicación.

    Para implementar con MVC la capa de presentación, lo más sencillo es usar la plantilla para una aplicación MVC en Visual Studio, y una vez que Visual Studio crea la aplicación, añadir Referencias a las DLLs en las que hayas programado las partes relevantes (entidades de negocio y lógica de negocio). Nótese que no es obligatorio que estén en DLLs separadas, también podrías compilar estas capas junto con la de presentación copiando los fuentes a un subdirectorio en el proyecto web.

    Las llamadas desde la capa de presentación a la de negocio se harían desde el Controlador que trata la capa de negocio como una subrutina, siendo completamente transparentes para el Modelo y la Vista.

    A la hora de mover los datos desde el controlador a la vista por mediación del modelo, se puede usar como modelo la misma entidad de negocio que se recibió desde la capa de negocio en los casos en los que los datos a presentar en la vista coincidan con los que se recuperan en esa entidad. Cuando no coincidan, habrá que crear una clase nueva para usarla como Modelo (algunos documentos llaman a esta clase "VistaModelo" para distinguirla de los Modelos tomados desde las entidades de negocio). Será responsabilidad del Controlador mover los datos desde la entidad de negocio a la clase usada como Modelo para pasarla a la Vista.

    • Marcado como respuesta Martin Pinedo miércoles, 9 de octubre de 2013 1:22
    lunes, 7 de octubre de 2013 9:46
  • Gracias por tu respuesta te lo agradezco por tomarte tu tiempo me fue útil 
    lunes, 7 de octubre de 2013 14:40
  • Saludos!!!!!

    Mira este link y quiza despeje algunas de las dudas que tienes ya que se maneja un ejemplo de un proyecto ASP.NET MVC 4

    http://quoacademico.blogspot.com/

    jueves, 10 de octubre de 2013 22:35