¿Cómo implementar la arquitectura MVC en Java?



Este artículo sobre la arquitectura MVC en Java lo ayudará a comprender qué es exactamente el patrón de diseño MVC y cómo facilita el diseño de aplicaciones web.

En el campo Desarrollo web, Modelo-Vista-Controladores uno de los más comentados en el mundo de la programación web actual. La arquitectura MVC se incluyó inicialmente en los dos principales marcos de desarrollo web: Struts y Ruby on Rails . En este artículo, exploremos un poco sobre la arquitectura MVC en .

Los temas que se tratarán en este artículo son los siguientes:





Antes de que realmente gEn los aspectos técnicos de la arquitectura MVC, hay ciertos conceptos que debe conocer.

  • Patrón de diseño , en ingeniería de software, es una técnica para resolver un problema común al diseñar software.
  • Modelo de diseño, especifica qué tipo de arquitectura se utiliza para resolver el problema o diseñar el modelo.
  • Hay dos tipos de modelos de diseño : Arquitectura del Modelo 1 , Arquitectura Modelo 2 (MVC).

¿Qué es la arquitectura MVC en Java?

Los diseños de modelos basados ​​en la arquitectura MVC siguen la MVC y separan la lógica de la aplicación de la interfaz de usuario al diseñar el software. Como su nombre lo indica, el patrón MVC tiene tres capas, que son:



  • Modelo - Representa la capa empresarial de la aplicación.
  • Ver - Define la presentación de la aplicación
  • Controlador - Gestiona el flujo de la aplicación.

MVC - Arquitectura MVC en Java - Edureka

En el contexto de programación Java,el modelo consta de simples Clases de Java , la vista muestra los datos y el controlador consta de . Esta separación da como resultado que las solicitudes de los usuarios se procesen de la siguiente manera:



  1. El navegador del cliente envía una solicitud de una página al controlador presente en el servidor
  2. El controlador realiza la acción de invocar el modelo, recuperando así los datos que necesita en respuesta a la solicitud.
  3. El controlador luego da los datos recuperados a la vista
  4. La vista se renderiza y se envía de vuelta al cliente para que el navegador la muestre

Separar una aplicación de software enEstos tres componentes distintos son una buena idea por varias razones. Echemos un vistazo a cuáles son.

Ventajas de la arquitectura MVC en Java

La arquitectura MVC ofrece muchas ventajas para un programador al desarrollar aplicaciones, que incluyen:

  • Varios desarrolladores pueden trabajar con las tres capas (modelo, vista y controlador) simultáneamente
  • Ofertas mejoradas escalabilidad , que complementa la capacidad de la aplicación para crecer
  • Como los componentes tienen poca dependencia entre sí, son fáciles de mantener
  • Un modelo puede ser reutilizado por múltiples vistas, lo que proporciona reutilización de código.
  • La adopción de MVC hace que una aplicación sea más expresiva y fácil de entender
  • Ampliar y probar la aplicación se vuelve fácil

Ahora sabes por qué MVC es el más popular en el mundo de la programación web. Pero, si todavía está luchando por entender el concepto de MVC, no se preocupe. Profundizaremos en cada una de estas capas y aprenderemos su propósito con la ayuda de un .

Implementación de MVC usando Java

Para implementar una aplicación web basada en el patrón de diseño MVC, crearemos

cómo declarar una matriz dinámica en java
  • Clase del curso , que actúa como capa modelo
  • Clase CourseView , que define la capa de presentación ( capa de vista )
  • Clase CourseContoller , que actúa como controlador

Ahora, exploremos estas capas una por una.

La capa de modelo

En el patrón de diseño MVC, el modelo es la capa de datos que define la lógica empresarial del sistema y también representa el estado de la aplicación.El modelo objetos recuperar y almacenar el estado del modelo en una base de datos. A través de esta capa, aplicamos reglas a los datos, que eventualmente representan los conceptos que administra nuestra aplicación. Ahora, creemos un modelo usando Clase del curso.

paquete MyPackage public class Course {private String CourseName private String CourseId private String CourseCategory public String getId () {return CourseId} public void setId (String id) {this.CourseId = id} public String getName () {return CourseName} public void setName (Nombre de cadena) {this.CourseName = nombre} public String getCategory () {return CourseCategory} public void setCategory (String categoría) {this.CourseCategory = categoría}}

El código es fácil de entender y se explica por sí mismo. Consta de funciones para obtener / establecer detalles del curso.

La capa de vista

Esta capa del patrón de diseño MVC representa el resultado de la aplicación o la interfaz de usuario. Muestra los datos obtenidos de la capa del modelo por el controlador y presenta los datos al usuario cuando se le solicita. yoRecibe toda la información que necesita del controlador y no necesita interactuar directamente con la capa empresarial.Creemos una vista usando Clase CourseView.

package MyPackage public class CourseView {public void printCourseDetails (String CourseName, String CourseId, String CourseCategory) {System.out.println ('Detalles del curso:') System.out.println ('Nombre:' + CourseName) System.out.println ('ID del curso:' + CourseId) System.out.println ('Categoría del curso:' + CourseCategory)}}

Este código essimplemente para imprimir los valores en la consola. A continuación tenemos el controlador de la aplicación web.

La capa del controlador

El controlador es como una interfaz entre el modelo y la vista. Recibe las solicitudes de los usuarios de la capa de visualización y las procesa, incluidas las validaciones necesarias. Luego, las solicitudes se envían al modelo para el procesamiento de datos. Una vez que se procesan, los datos se envían nuevamente al controlador y luego se muestran en la vista.Vamos a crear Clase CourseContoller que actúa como controlador.

package MyPackage public class CourseController {modelo de curso privado vista CourseView privada CourseController público (modelo de curso, vista CourseView) {this.model = modelo this.view = vista} public void setCourseName (nombre de cadena) {model.setName (nombre)} cadena pública getCourseName () {return model.getName ()} public void setCourseId (String id) {model.setId (id)} public String getCourseId () {return model.getId ()} public void setCourseCategory (String categoría) {model.setCategory (categoría)} public String getCourseCategory () {return model.getCategory ()} public void updateView () {view.printCourseDetails (model.getName (), model.getId (), model.getCategory ())}}

Un vistazo rápido al código nos dirá que esta clase de controlador solo es responsable de llamar al modelo para obtener / configurar los datos y actualizar la vista en función de eso. Ahora vamos aEche un vistazo a cómo todos estos están relacionados.

Clase Java principal

Llamemos a esta clase 'MVCPatternDemo.java'. Consulte el código a continuación.

package MyPackage public class MVCPatternDemo {public static void main (String [] args) {// busca el registro del estudiante basado en su rollo no de la base de datos Course model = retriveCourseFromDatabase () // Crea una vista: para escribir detalles del curso en la consola vista CourseView = new CourseView () CourseController controller = new CourseController (modelo, vista) controller.updateView () // actualizar los datos del modelo controller.setCourseName ('Python') System.out.println ('nDespués de la actualización, los detalles del curso son los siguientes') controller.updateView ()} curso estático privado retriveCourseFromDatabase () {Course course = new Course () course.setName ('Java') course.setId ('01 ') course.setCategory (' Programación ') volver curso}}

La clase anteriorobtiene los datos del curso del utilizando qué usuario ingresa el conjunto de valores. Luego, inserta esos valores en el modelo del curso. Luego, inicializa la vista que habíamos creado anteriormente en el artículo.Además, también invoca la CourseController clase y la une a la Curso clase y el CourseView clase. los updateView () El método que forma parte del controlador actualiza los detalles del curso en la consola. Mira el resultado a continuación.

Salida

Detalles del curso: Nombre: Java ID del curso: 01 Categoría del curso: Programación Después de la actualización, los Detalles del curso son los siguientes Detalles del curso: Nombre: Python ID del curso: 01 Categoría del curso: Programación

La arquitectura MVCproporciona un nivel completamente nuevo de modularidad a su código que lo hace mucho más legible y fácil de mantener. Esto nos lleva al final de este artículo.Espero que tengas claro todo lo que se ha compartido contigo.

Asegúrese de practicar tanto como sea posible y revertir su experiencia.

Revisar la por Edureka, una empresa de aprendizaje en línea de confianza con una red de más de 250.000 alumnos satisfechos repartidos por todo el mundo. Estamos aquí para ayudarlo en cada paso de su viaje, creamos un plan de estudios diseñado para estudiantes y profesionales que desean ser desarrolladores de Java.

Tienes una pregunta para nosotros? Menciónelo en la sección de comentarios de esta 'Arquitectura MVC en Java' artículo y nos pondremos en contacto contigo lo antes posible.