🔧 Do Manual ao Automatizado: Explorando o Potencial do ModelMapper
Nachrichtenbereich: 🔧 Programmierung
🔗 Quelle: dev.to
O entendimento do funcionamento e motivo do ModelMapper requer uma compreensão prévia sobre o mapeamento manual de objetos, especialmente em contextos como o MVC.
Antes de mergulharmos na aplicação do ModelMapper, é essencial dar uma 'fuçadinha' brevemente nas camadas do MVC:
- Modelo: onde residem as entidades, como nosso futuro exemplo de User.
- Serviço: onde definimos as regras para a manipulação dos dados.
- Controlador: onde é feito o acionamento de requisições com base nas regras definidas no serviço.
Digamos que temos uma entidade User com campos como id, nome, email e senha. Ao lidar com requisições que envolvem dados da classe User, é inadequado simplesmente buscar e disponibilizar esses dados diretamente, pois isso violaria as camadas de serviços e modelo. Portanto, adotamos DTOs (Data Transfer Objects) para essa função, agindo como 'burros de carga' responsáveis por transportar dados entre camadas de acordo com as definições que estabelecemos.
Mas onde o ModelMapper se encaixa nessa dinâmica?
Para que serve o ModelMapper
O ModelMapper desempenha um papel crucial no mapeamento de objetos, automatizando o processo que, de outra forma, seria realizado manualmente(e nós somos devs, quanto menos linhas de código para resolver um problema, melhor, não é mesmo? xD). Em nosso contexto, o ModelMapper é responsável por extrair os dados fornecidos pelo nosso 'burro de carga' e transferi-los para a classe User de forma organizada e eficiente.
Mapeamento Manual vs. ModelMapper
Aprendendo na prática o valor do ModelMapper, neste exemplo iremos fazer primeiramente "na unha" e depois faremos usando o ModelMapper.
class User {
private Long id;
private String name;
private String email;
private String password;
}
class UserDTO {
private Long id;
private String name;
private String email;
private String password;
public UserDTO(User user) {
this.id = user.getId();
this.name = user.getName();
this.email = user.getEmail();
this.password = user.getPassword();
}
}
Agora com o uso do ModelMapper para simplificar drasticamente o processo, eliminando a necessidade de copiar manualmente cada atributo:
ModelMapper modelMapper = new ModelMapper();
UserDTO userDTO = new UserDTO();
User user = modelMapper.map(userDTO, User.class);
Ao delegar essa tarefa ao ModelMapper, ganhamos em legibilidade, manutenibilidade e eficiência, poupando-nos da chata tarefa de mapeamento manual, permitindo-nos concentrar em aspectos mais significativos.
...
🔧 My ModelMapper Cheat Sheet
📈 35.8 Punkte
🔧 Programmierung
🔧 Backup Automatizado MySQL com ShellScript
📈 33.72 Punkte
🔧 Programmierung
🔧 Explorando o Comando `pub unpack` no Dart
📈 23.39 Punkte
🔧 Programmierung
🔧 Explorando o Linux - VIM e NANO
📈 23.39 Punkte
🔧 Programmierung
🔧 Explorando as principais áreas da programação
📈 23.39 Punkte
🔧 Programmierung
🔧 Explorando Linux Server
📈 23.39 Punkte
🔧 Programmierung