fonte: https://www.cesarromero.com.br/en/blog/database-as-api-cqrs/
Se você é desenvolvedor Delphi, sabe que criar uma API robusta muitas vezes envolve repetir o mesmo padrão dezenas de vezes: criar o DTO, o Controller, o Service, mapear a entidade e configurar as rotas. No final do dia, você escreveu centenas de linhas de código apenas para “expor” seu banco de dados.
Recentemente, o Cesar Romero apresentou um conceito poderoso dentro do ecossistema do Dext Framework: a ideia de Database as API integrada ao CQRS. Se o seu objetivo é ganhar tempo e digitar menos código, você precisa entender como essa feature funciona.
O Problema: A “Escravidão” do Código Repetitivo
Tradicionalmente, para cada tabela no banco que queremos expor, seguimos um fluxo manual. Isso gera:
- Dificuldade de manutenção: Qualquer alteração no banco exige mudanças em várias camadas.
- Perda de tempo: Você gasta horas em infraestrutura em vez de focar na regra de negócio.
- Erros humanos: Quanto mais código manual, maior a chance de esquecer um mapeamento ou uma validação.
A Solução do Dext: Database as API
O Dext simplifica esse processo ao permitir que você transforme suas definições de banco de dados diretamente em endpoints de API, mas sem perder o controle arquitetural.
Ao adotar o CQRS (Command Query Responsibility Segregation) nativo do framework, o Dext separa as operações de leitura (Queries) das operações de escrita (Commands).
Como você ganha tempo (Digitando menos código):
- Auto-Mapeamento com Fluent API: Em vez de configurar cada campo manualmente, o Dext utiliza um mapeamento fluente inspirado no Entity Framework (do .NET). Com poucas linhas, sua classe Delphi já sabe como conversar com a tabela.
- CQRS Ready: O framework já traz a estrutura de Commands e Queries pronta. Você não precisa criar a “roda” da separação de responsabilidades; basta herdar os tipos base.
- Projeções Diretas: Precisa de um JSON específico para uma tela? Em vez de criar um Service complexo, você define uma Query que projeta o resultado do banco direto para o DTO. O Dext cuida da serialização de forma transparente.
- Menos Controllers Manuais: Com o motor de roteamento inteligente e atributos, você define a rota no topo da classe e o framework gerencia o pipeline de execução.
Na Prática: Menos “Boilerplate”, Mais Entrega
Imagine reduzir um Controller que teria 200 linhas para apenas 20 ou 30. O foco deixa de ser “como o dado trafega” e passa a ser “qual dado eu preciso”.
A grande sacada dessa feature no Dext é que ela não é apenas um “CRUD automático”. Ela aplica Clean Architecture por debaixo dos panos. Isso significa que, enquanto você digita menos, o framework garante que seu código continue testável, escalável e fácil de manter.
Conclusão
Para quem acompanha o portal do Régys, sabe que produtividade é a palavra de ordem. O Dext Framework, especialmente com essa abordagem de Database as API, mostra que o Delphi moderno não deve nada a frameworks como ASP.NET Core ou NestJS.
Se você quer parar de copiar e colar código de CRUD e começar a entregar APIs de alta performance com o mínimo de esforço, vale a pena mergulhar no que o Cesar Romero está construindo com o Dext.
E você, já testou o Dext ou utiliza CQRS nos seus projetos Delphi? Vamos debater nos comentários!
Descubra mais sobre Régys Borges da Silveira
Assine para receber nossas notícias mais recentes por e-mail.
Dê-nos sua opinião, seu comentário ajuda o site a crescer e melhorar a qualidade dos artigos.