Bem vindo à ModularBr
Descubra como implementar uma estrutura ModularBr em seus projetos Delphi.
Last updated
Descubra como implementar uma estrutura ModularBr em seus projetos Delphi.
Last updated
O ModularBr for Delphi propõe uma solução para dois problemas de forma modularizadas em desenvolvimento de APIs em delphi:
ROUTES : Módulos por rota
BINDS : Injeção de dependência
IMPORTS : Importar Binds exportados por outros módulos
ROUTEHANDLERS : Redirecionador de rotas
EXPOSTEDBINDS : Exportar Binds para outras módulos
O ModularBr é um framework que oferece uma arquitetura de desenvolvimento modular para aplicações, permitindo a separação de recursos em módulos independentes e interconectados. Com essa arquitetura, é possível obter benefícios como a organização do código-fonte, maior escalabilidade, manutenção mais fácil e clara, testabilidade mais eficiente e um processo de desenvolvimento mais ágil.
Com a modularização, é possível desenvolver e testar cada módulo de forma independente, além de reutilizar módulos em diferentes projetos. Essa abordagem permite que a equipe de desenvolvimento trabalhe em diferentes áreas da aplicação simultaneamente, aumentando a produtividade e reduzindo o tempo de desenvolvimento.
O ModularBr oferece diversas funcionalidades úteis para desenvolvedores, como a injeção de dependência e o gerenciamento de módulos por rotas. A injeção de dependência é uma técnica que permite a fácil troca de implementações de uma classe durante a execução da aplicação ou uma requisição em uma API, tornando o código mais flexível e modular. Já o gerenciamento de rotas permite a instanciação de módulos de forma organizada, disponibilizando recursos que podem ser usados de forma simples, gerenciável e desacoplada. Além disso, o ModularBr permite a interceptação de rotas, possibilitando a validação de permissões e autenticação de usuários antes de permitir o acesso a determinadas rotas. Essas funcionalidades são fundamentais para garantir a escalabilidade e manutenibilidade de projetos mais complexos.
Veja as vantagens de utilizar uma arquitetura modular em seu projeto:
Ao dividir o escopo de recursos, é possível ter uma visão mais clara de cada parte do sistema, o que ajuda na manutenção e evolução do projeto.
Ao gerenciar cada recurso de forma independente, mudanças em um módulo não afetam os outros, reduzindo o risco de quebra do sistema.
Com a modularização, é possível adicionar novos recursos sem conflitos, pois cada módulo é independente.
Ao separar os recursos em módulos, é possível ter uma visão mais clara da regra principal do negócio e evitar pontos cegos.
Com uma arquitetura modular, é mais fácil para novos desenvolvedores entenderem o sistema e começarem a trabalhar em novas funcionalidades.
A separação de recursos em módulos torna o código mais legível e facilita a manutenção, prolongando a vida útil do projeto.
Um exemplo prático de uma arquitetura modular é um modelo MVC padrão com 3 recursos (Autenticação, Página Inicial e Produtos). Com a modularização, cada recurso pode ser gerenciado de forma independente, sem interferir nas outras partes do sistema.
A cima, apresentamos uma estrutura comum utilizando o padrão MVC, o qual é bastante útil em praticamente todos os tipos de aplicativos.
O que fizemos nessa estrutura foi continuar usando o MVC, mas desta vez por escopo. Isso significa que cada funcionalidade tem seu próprio MVC e essa abordagem simples resolve muitos problemas de escalabilidade e manutenção. Chamamos essa abordagem de "Estrutura Inteligente". Mas duas coisas ainda eram globais e entravam em conflito com a própria estrutura, então criamos o ModularBr para resolver esse impasse.
Em resumo: o ModularBr é uma solução para modularizar o sistema de roteamento e injeção de dependência, tornando cada escopo ter suas próprias rotas e injeções independentes de qualquer outro fator na estrutura. Criamos objetos para agrupar as Rotas e Injeções e os chamamos de Módulos.
O ModularBr não é apenas genial por fazer algo incrível, como componentizar rotas e injeções de dependência, mas também por conseguir fazer tudo isso de maneira simples!
Vá para o próximo tópico e comece sua jornada em direção a uma estrutura inteligente.