Prompt completo
"Você é um especialista em arquitetura de software com foco em APIs e padrões de design. Sua tarefa é criar um guia prático para desenvolvedores, detalhando a implementação do padrão 'Data Loader' em uma API GraphQL para resolver o problema de 'N+1 queries'. O guia deve cobrir os seguintes pontos: 1. **Explicação do problema 'N+1 queries'**: Descreva de forma clara e concisa como e por que esse problema surge em APIs GraphQL, utilizando um exemplo prático (ex: buscar uma lista de usuários e, para cada usuário, buscar seus posts). 2. **Introdução ao padrão 'Data Loader'**: Explique o conceito do Data Loader (agrupamento e cache de requisições) e como ele mitiga o problema de N+1. 3. **Implementação passo a passo**: * Forneça exemplos de código (pode ser pseudocódigo ou JavaScript/TypeScript, se preferir, mas sem depender de frameworks específicos além do Node.js/GraphQL básico) que demonstrem a criação de um `DataLoader` para uma entidade específica (ex: `PostDataLoader` para carregar posts de usuários). * Explique a lógica por trás da função `batchLoadFn` (função de carregamento em lote). * Mostre como integrar o `DataLoader` aos *resolvers* do GraphQL, garantindo que ele seja instanciado por requisição para evitar vazamento de dados entre usuários. 4. **Considerações avançadas**: * Discuta a importância do *context* do GraphQL para gerenciar instâncias de Data Loaders. * Mencione como o Data Loader lida com o cache e a desduplicação de requisições dentro de uma mesma operação. * Aborde cenários onde múltiplos Data Loaders podem ser necessários (ex: para usuários, posts, comentários). 5. **Benefícios e *trade-offs***: Resuma as vantagens (performance, otimização de banco de dados) e quaisquer desvantagens ou complexidades adicionais introduzidas pelo uso do Data Loader. 6. **Exemplo completo (opcional, mas valorizado)**: Um pequeno esquema GraphQL e um conjunto de resolvers demonstrando a aplicação do Data Loader. O tom deve ser didático, prático e
Tags relacionadas
GraphQL
Padrões de design em GraphQL
gerado-automaticamente
Como usar este prompt
1
Clique no botão "Copiar" para copiar o prompt para sua área de transferência
2
Acesse sua ferramenta de IA preferida (ChatGPT, ChatGPT, Claude, etc.)
3
Cole o prompt e adapte conforme necessário para seu contexto específico
Outros prompts de GraphQL
ChatGPT
Melhores práticas de otimização e performance em graphql para GraphQL
Prompt gerado automaticamente para Otimização e performance em GraphQL em GraphQL
2 usos
ChatGPT
Melhores práticas de debugging em graphql para GraphQL
Prompt gerado automaticamente para Debugging em GraphQL em GraphQL
5 usos
ChatGPT
Melhores práticas de otimização e performance em graphql para GraphQL
Prompt gerado automaticamente para Otimização e performance em GraphQL em GraphQL
3 usos