#Descomplica - DTO
소개
E aí pessoas, tudo bem?
Esse será o primeiro artigo do #Descomplica, uma série de pequenos artigos que irão semper focar em um tema específico, com uma abordagem simples e direta sobre o assunto eo nosso primeiro assunto será sobre DTOs.
O que é um DTO
DTO(Data Transfer Object/Objeto de Transferência de Dados) é um(a) Design Pattern/Padrão de Projeto simples, porém eficiente para se aplicar na arquitetura um 소프트웨어.
Um DTO nada mais é que um objeto utilizado para encapsular e mapear dados primitivos e que podem ser serializados.
DTO의 주요 활용 사례
Como dito anteriormente, um DTO nada mais é que um objeto simples para encapsular e mapear dados que serão enviados entre as camadas da nossa aplicação. Então vamos ver um exemplo bem simples em PHP de um DTO utilizado para encapsular dados para um endpoint/serviço que irá salvar um usuário:
class SaveUserDTO
{
public function __construct(
private string $name,
private string $email,
private string $password
) {}
// GETTERS AND SETTERS
}
$userDTO = new SaveUserDTO('Wendell', '[email protected]', 'S3cR3t');
Como podem ver acima, criar e utilizar um DTO é extremamente simples e fácil. Agora vamos aprender o porquê utilizar esse padrão.
Porque utilizar DTOs
Para mim, a utilização de DTOs no código gera um código simples, limpo e de fácil manutenção. Para quem trabalha com Laravel e outros frameworks PHP já devem ter visto como eu vi em várias aplicações algo como abaixo nos controllers:
public function saveUser(Request $request): JsonResponse
{
$this->service->saveUser($request->all());
}
No código acima o código pega todos os paraâmetros do Request e os enviia para a Camada de Serviço. Alguns dos problemas criados por isso são:
Se ao invés de fazer isso, usarmos o DTO que criamos acima, qualquer dev que entrar na equipe ou caso alguém precision fazer alguma alteração ou manutenção no código, será muito mais fácil de saber quais são os dados esperados pelo serviço, o que podemos utilizar 필요에 따라 변경할 수 있습니다.
당신은 당신의 능력을 향상시킬 수 있습니다!
결론
Vimos nesse artigo o que é, como utilizar e o porquê utilizar DTOs para melhorar a arquitetura da nossa aplicação! Espero que tenham gostado e aproveitem pra comentar aqui se conheciam esse padrão, se utilizam e como utilizam!
Um grande abraço e até o próximo #Descomplica!
Reference
이 문제에 관하여(#Descomplica - DTO), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/wendell_adriel/descomplica-dto-39h4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)