Pular para o conteúdo principal

Postagens

Mostrando postagens com o rótulo Lombok

Criando objetos com @Builder e @Value do framework Lombok

Hoje iremos ver como utilizar as anotações @Builder e @Value do framework Lombok, visando melhorar a forma de criação de objetos. Utilizando a anotação @Builder O nome vem do Pattern Builder , que é um pattern que visa a criação de objetos, ou seja é um pattern de Criação. Vamos analisar a classe abaixo: 1 2 3 4 5 6 7 @Getter @Builder public class Cliente { private String nome ; private String cnpj ; private String endereco ; } O arquivo compilado irá ter a seguinte estrutura: Resultado da compilação utilizando @Builder. No exemplo acima, notamos que o Lombok criou uma classe interna chamada ClienteBuilder , seguindo os preceitos do pattern , agora podemos criar um objeto Cliente utilizando uma forma fluente, assim deixando o código mais simples e funcional, como abaixo: 1 2 3 4 5 Cliente . builder () . nome ( "Nome do Cliente" ) . cnpj ( "1234567890" ) . endereco ( "São Pau...

Melhorando a qualidade do código com Lombok

Olá pessoal, hoje iremos ver como podemos melhorar a escrita do código Java evitando o famoso "Don't repeat your self",  conhecido também como código boilerplate, isso tudo usando o projeto Lombok . O famoso código boilerplate O código boilerplate é aquele que a linguagem ou tecnologia, nos obriga a fazer para criar classes, métodos, e compor comportamentos aos nossos sistemas, no Java, temos muitos pontos que fazemos código boilerplate , as vezes nem percebemos, pois já estamos acostumados com a estrutura da linguagem. Com a evolução da plataforma Java, vários recursos foram introduzidos, que nos ajudou a reduzir o famoso código boilerplate , tais como: Lambdas, Streams, Optional, Default Methods, etc. Apesar da constante evolução da plataforma, ainda existem pontos que precisamos executar de forma manual, ou com a ajuda das IDEs, vamos avaliar alguns deles: Getters/Setters; Construtores; Equals e HashCode; toString(); Variáveis de log e depuração.  ...