MVC/DAO

Posted by Luciano Cunha on December 05, 2023
Tags: web java jsp servlet mvc

Padrões de projetos são soluções típicas para problemas comuns. Refactoring.guru

Neste projeto, utilizarei dois padrões de projetos muito conhecidos:

  • DAO
  • MVC

Data Access Object - DAO

Um padrão que visa abstrair o acesso aos dados. Seu objetivo é possibilitar a mudança da fonte de dados, sem impactar na lógica da aplicação.

Desta forma, é composto por uma camada, geralmente uma interface que define os métodos de acesso aos dados. A implementação desses métodos, poderá mudar conforma a fonte de dados utilizada.

Exemplo:

public interface ILivroDAO {
    boolean inserir(Livro livro);
    boolean deletar(String isbn);
    List<Livro> listar();
    Livro buscarPorISBN(String isbn);
    boolean atualizar(Livro livro);
}

Aqui definimos os métodos de acesso, ou seja, os métodos que estão sendo utilizados pelas regras de negócio da aplicação para recuperar os dados.

A chamada a esses métodos na lógica da aplicação não deveria mudar. Porém, a implementação desses métodos pode mudar a medida que trabalhamos com uma fonte de dados diferente.

Model View Controller - MVC

O MVC é um padrão de projeto que visa separar uma aplicação em três camadas distintas:

  • Modelo: representa os dados da aplicação
  • View: apresenta os dados da aplicação
  • Controller: representa a ligação entre a view, recebendo os dados da interface do programa, direciona o fluxo das operações, acessando os dados e disponibilizando para as views.

A figura abaixo demonstra uma representação desse padrão:

O projeto MiniMVC

O projeto Mini MVC é um CRUD que utiliza desses dois padrões em sua implementação.