O backend aparece quando os problemas surgem
Ao construir uma aplicação, é comum que pessoas leigas comecem pensando primeiro no design das telas e nas funcionalidades do sistema.
Particularmente, já trabalhei com POs e stakeholders que diziam: "O que vai diferenciar o sistema é o frontend." e "O design da tela precisa ser bonito para chamar a atenção dos usuários."
Até certo ponto, isso é verdade. No entanto, quando os usuários começam a relatar lentidão, erros de conexão ou dificuldades de login, os olhares passam a se voltar para o que acontece no backend.
Mas afinal, o que é design de classes?
Um dos principais aspectos ao construir uma aplicação no backend — especialmente com Java — é a criação de classes. Por isso, torna-se imprescindível compreender o conceito de design de classes.
Design de classes é a prática de estruturar as classes da aplicação de forma que atendam a um objetivo específico — normalmente relacionado às necessidades do domínio do negócio — e que possam ser mantidas com facilidade por outras pessoas no futuro.
Pontos de reflexão antes de codar
Dentro desse conceito, você deve refletir sobre o estado da classe, a assinatura dos métodos, o comportamento, o relacionamento com outras classes e as responsabilidades atribuídas.
De maneira objetiva, antes de criar uma classe, método ou variável, é importante se perguntar: faz sentido este método receber todos esses parâmetros? Ele não está acumulando responsabilidades ou dependências excessivas? Essa nova variável deveria ser acessível fora da classe? Ou mesmo fora do pacote?
Princípios que sustentam boas decisões
Nada disso é novidade. Para nos aprimorarmos nesses conceitos, já existem diversas técnicas e princípios consolidados, como SOLID, KISS e Clean Code, que nos auxiliam objetivamente na construção de classes mais coesas, desacopladas e sustentáveis.
Particularmente, considero que esse é um dos pontos que diferencia desenvolvedores "receita de bolo" de desenvolvedores profissionais: a capacidade de refletir sobre o impacto e a qualidade que o seu código agrega ao negócio.