ASP.NET Boilerplate: Simplificando o desenvolvimento de aplicações

Não se repita! ASP.NET Boilerplate automatiza tarefas comuns de desenvolvimento de software por convenção. Você se concentra em seu código comercial.

Com a tecnologia em alta e o consequente aumento de desenvolvedores no mundo, surge uma questão em meio a isso, a maneira de como os famosos códigos são escritos. Com o tempo, percebe-se que não basta simplesmente sair escrevendo linhas e linhas de códigos, sem nenhum padrão ou cuidado, pode ser que no fim você alcance o que deseja, porém não utilizou de alguns princípios deste imenso mundo, como simplicidade, modularidade, e diversos outros.

Não há nada de errado em não aplicar os princípios de boas práticas, pois sem elas seu código pode chegar no resultado desejado, porém é questão de tempo até você começar a fazer isto automaticamente. Você perceberá ao encontrar uma aplicação desenvolvida com estas práticas, e verá que elas realmente fazem a diferença. Mas e quais são as boas práticas? Temos muitas…

  • Código legível: Simples, fácil de entender.
  • Funções pequenas e coesas: Que faça somente o que precisa ser feito.
  • Nomes intuitivos: Variáveis, funções, classes, etc, com nomes que qualquer pessoa entenda.
  • Comentários relevantes: Comente apenas o que realmente for necessário.
  • Formatação do código: Para melhorar a legibilidade do código.
  • Testes unitários: Não canse de testar o que você está escrevendo.
  • Sem duplicidade: Tente criar funções genéricas para evitar repetição.

Além destes citados acima, podemos falar sobre o SOLID, um conjunto de cinco princípios de design de software que visam criar um código mais flexível, robusto e fácil de manter. Dessa forma teremos:

  • S: Princípio da Responsabilidade Única – Uma classe deve ter apenas uma responsabilidade.
  • O: Princípio do Aberto/Fechado – Entidades devem ser abertas para extensão, e fechadas para modificação, permitindo que o comportamento seja estendido sem alterar o código já existente.
  • D: Princípio da Substituição de Liskov – Subtipos devem ser substituíveis por seus tipos base sem afetar a funcionalidade do código.
  • I: Princípio da Segregação de Interfaces – Usuários não devem depender de interfaces que não utilizem, ou seja, interfaces devem ser específicas para o usuário que as utilizam.
  • D: Princípio da Inversão de Dependência – Módulos de alto nível não devem depender de módulos de baixo nível, porém ambos devem depender de abstrações, tornando assim um código mais flexível.

É claro que se faz necessário aprofundar-se um pouco mais nestes princípios para ir aos poucos colocando em prática.

Durante a carreira de um programador, ele conhecerá e utilizará muitas ferramentas e tecnologias que irão lhe auxiliar justamente nas práticas citadas anteriormente, na construção de sua aplicação. Uma dessas ferramentas é o ASP.NET Boilerplate, um framework para modernas aplicações web.

Boilerplate fornece uma arquitetura em camadas baseado em DDD – Domain Driven Design, uma abordagem para modelagem de domínio de um problema complexo – e utiliza os princípios do SOLID. Ele é projetado como um design modular e extensível que permite construir seus próprios módulos, e também oferece suporte a Multi Tenancy.

É um framework gratuito e open-source, com uma documentação completa, com diversos exemplos e tutoriais, além de sua grande comunidade. Ele permite criar sua solução com base em modelos de inicialização gratuitos ou premium, independente se for um aplicativo Angular com uma única página ou uma clássica arquitetura MVC com jQuery.

Sobre o framework em si, são códigos escritos em cima do ASP.NET Core, utilizando de todas as boas práticas, que já vêm “prontos” para serem utilizados ou sobrescritos, de preferência mantendo a mesma “boa prática”, é claro.

Um exemplo clássico que podemos citar é o CRUD (Create, Read, Update, Delete) que você sempre encontra nas aplicações. O Boilerplate lhe entrega essas funcionalidades prontas, basta apenas você implementá-lo da forma que precisa.

Este trecho de código acima, já está fazendo o CRUD completo. É claro que a Entidade e seus Dtos (Data Transfer Objects) estão em outras pastas, porém já é perceptível o auxílio que o ABP fornece, e isto é um simples exemplo.

Na imagem acima, tem algumas ferramentas e tecnologias que o ABP possui integração. É altamente sugerido que você acesse a documentação para estudar mais sobre e ver até onde pode chegar com este framework. É inegável que ele lhe auxilia muito, por lhe trazer todas as boas práticas que são muito importantes no mundo de hoje, e também diversas funcionalidades já prontas em seu código, as quais te economizam um certo tempo e também lhe agregam conhecimento.

Autor: Fábio Augusto Silva Tessaro

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *