Como implementar a arquitetura MVC em Java?



Este artigo sobre Arquitetura MVC em Java ajudará você a compreender o que exatamente é o padrão de design MVC e como ele torna o design de aplicativos da web fácil.

No campo Desenvolvimento Web, Model-View-Controlleré um dos mais comentados no mundo da programação web hoje. A Arquitetura MVC foi inicialmente incluída nas duas principais estruturas de desenvolvimento web - Struts e Ruby on Rails . Neste artigo, vamos explorar um pouco sobre a arquitetura MVC em .

Os tópicos que serão abordados neste artigo são os seguintes:





Antes de realmente get para os detalhes técnicos da arquitetura MVC, existem certos conceitos que você precisa saber.

  • Padrão de design , em engenharia de software, é uma técnica para resolver um problema comum ao projetar software.
  • Modelo de Projeto, especifica que tipo de arquitetura você usa para resolver o problema ou projetar o modelo.
  • São dois tipos de modelos de design : Arquitetura do Modelo 1 , Arquitetura do modelo 2 (MVC).

O que é arquitetura MVC em Java?

Projetos de modelo baseados na arquitetura MVC seguem o MVC e eles separam a lógica do aplicativo da interface do usuário ao projetar o software. Como o nome indica, o padrão MVC tem três camadas, que são:



  • Modelo - Representa a camada de negócios do aplicativo
  • Visão - Define a apresentação do aplicativo
  • Controlador - Gerencia o fluxo do aplicativo

MVC - Arquitetura MVC em Java - Edureka

No contexto da programação Java,o modelo consiste em simples Aulas de Java , a visualização exibe os dados e o controlador consiste em . Essa separação resulta no processamento das solicitações do usuário da seguinte forma:



  1. O navegador no cliente envia uma solicitação de página ao controlador presente no servidor
  2. O controlador executa a ação de invocar o modelo, recuperando assim os dados de que necessita em resposta ao pedido
  3. O controlador então fornece os dados recuperados para a visualização
  4. A visualização é renderizada e enviada de volta ao cliente para o navegador exibir

Separando um aplicativo de software emesses três componentes distintos são uma boa ideia por vários motivos. Vamos dar uma olhada no que são.

Vantagens da arquitetura MVC em Java

A arquitetura MVC oferece muitas vantagens para um programador ao desenvolver aplicativos, que incluem:

  • Vários desenvolvedores podem trabalhar com as três camadas (modelo, visualização e controlador) simultaneamente
  • Ofertas melhoradas escalabilidade , que complementa a capacidade do aplicativo de crescer
  • Como os componentes têm baixa dependência uns dos outros, eles são fáceis de manter
  • Um modelo pode ser reutilizado por várias visualizações, o que fornece capacidade de reutilização de código
  • A adoção do MVC torna o aplicativo mais expressivo e fácil de entender
  • Estender e testar o aplicativo torna-se fácil

Agora você sabe porque o MVC é o mais popular no mundo da programação web. Mas, se você ainda está lutando para entender o conceito de MVC, não se preocupe. Vamos nos aprofundar em cada uma dessas camadas e aprender seu propósito com a ajuda de um .

Implementação de MVC usando Java

Para implementar uma aplicação web baseada no padrão de design MVC, iremos criar

  • Aula do curso , que atua como o camada de modelo
  • Classe CourseView , que define a camada de apresentação ( camada de visão )
  • Classe CourseContoller , que atua como um controlador

Agora, vamos explorar essas camadas uma por uma.

A Camada do Modelo

No padrão de design MVC, o modelo é a camada de dados que define a lógica de negócios do sistema e também representa o estado do aplicativo.O modelo objetos recuperar e armazenar o estado do modelo em um banco de dados. Por meio dessa camada, aplicamos regras aos dados, que eventualmente representam os conceitos que nosso aplicativo gerencia. Agora, vamos criar um modelo usando Classe do curso.

package 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 (String name) {this.CourseName = name} public String getCategory () {return CourseCategory} public void setCategory (String category) {this.CourseCategory = category}}

O código é fácil de entender e autoexplicativo. Consiste em funções para obter / definir detalhes do curso.

A Camada de Visualização

Essa camada do padrão de design MVC representa a saída do aplicativo ou da interface do usuário. Ele exibe os dados buscados da camada do modelo pelo controlador e apresenta os dados ao usuário sempre que solicitado. EuEle recebe todas as informações de que precisa do controlador e não precisa interagir diretamente com a camada de negócios.Vamos criar uma visualização usando Classe CourseView.

java split string vários delimitadores
package MyPackage public class CourseView {public void printCourseDetails (String CourseName, String CourseId, String CourseCategory) {System.out.println ('Detalhes do curso:') System.out.println ('Name:' + CourseName) System.out.println ('ID do curso:' + CourseId) System.out.println ('Categoria do curso:' + CourseCategory)}}

Este código ésimplesmente para imprimir os valores no console. Em seguida, temos o controlador do aplicativo da web.

A camada de controlador

O Controller é como uma interface entre Model e View. Ele recebe as solicitações do usuário da camada de visão e as processa, incluindo as validações necessárias. As solicitações são então enviadas ao modelo para processamento de dados. Depois de processados, os dados são enviados novamente para o controlador e, em seguida, exibidos na visualização.Vamos criar Classe CourseContoller que atua como um controlador.

package MyPackage public class CourseController {private Course model private CourseView view public CourseController (Course model, view CourseView) {this.model = model this.view = view} public void setCourseName (String name) {model.setName (name)} public String getCourseName () {return model.getName ()} public void setCourseId (String id) {model.setId (id)} public String getCourseId () {return model.getId ()} public void setCourseCategory (String category) {model.setCategory (categoria)} public String getCourseCategory () {return model.getCategory ()} public void updateView () {view.printCourseDetails (model.getName (), model.getId (), model.getCategory ())}}

Uma olhada rápida no código nos dirá que esta classe de controlador é apenas responsável por chamar o modelo para obter / definir os dados e atualizar a visualização com base nisso. Agora vamosdê uma olhada em como todos eles estão interligados.

Classe Java Principal

Vamos chamar essa classe de “MVCPatternDemo.java”. Confira o código abaixo.

package MyPackage public class MVCPatternDemo {public static void main (String [] args) {// buscar o registro do aluno com base em seu roll no do banco de dados Course model = retriveCourseFromDatabase () // Criar uma visualização: para escrever detalhes do curso no console da visualização CourseView = new CourseView () CourseController controller = new CourseController (model, view) controller.updateView () // atualizar dados do modelo controller.setCourseName ('Python') System.out.println ('nApós a atualização, os detalhes do curso são os seguintes') controller.updateView ()} private static Course retriveCourseFromDatabase () {Course course = new Course () course.setName ('Java') course.setId ('01 ') course.setCategory (' Programming ') return course}}

A classe acimabusca os dados do curso no usando qual usuário insere o conjunto de valores. Em seguida, ele empurra esses valores para o modelo de curso. Em seguida, ele inicializa a visualização que criamos no início do artigo.Além disso, ele também invoca o CourseController classe e vincula-o ao Curso classe e o CourseView classe. o updateView () método que faz parte do controlador atualiza os detalhes do curso no console. Confira a saída abaixo.

Resultado

Detalhes do curso: Nome: Java ID do curso: 01 Categoria do curso: Programação Após a atualização, os detalhes do curso são os seguintes: Nome: Python ID do curso: 01 Categoria do curso: Programação

A Arquitetura MVCfornece um nível totalmente novo de modularidade ao seu código, o que o torna muito mais legível e sustentável. Isso nos leva ao final deste artigo.Espero que você tenha esclarecido tudo o que foi compartilhado com você.

Pratique o máximo possível e reverta sua experiência.

Confira o pela Edureka, uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo. Estamos aqui para ajudá-lo em cada etapa de sua jornada, criamos um currículo que é projetado para alunos e profissionais que desejam ser um desenvolvedor Java.

Tem alguma questão para nós? Mencione isso na seção de comentários desta ‘Arquitetura MVC em Java’ artigo e entraremos em contato com você o mais breve possível.