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 e detalhado para desenvolvedores que estão migrando ou iniciando projetos com GraphQL, especificamente abordando "Padrões de Design em GraphQL" para otimização de performance e manutenibilidade. O guia deve ser estruturado em tópicos que cubram os desafios comuns e as melhores práticas, utilizando exemplos de código (em um pseudo-linguagem GraphQL ou Javascript/TypeScript com Apollo Server/Client) para ilustrar cada padrão. Inclua uma seção sobre antipatterns e como evitá-los. Considere os seguintes padrões e conceitos: 1. **Fragmentos Reutilizáveis:** Como e por que utilizar fragmentos para evitar duplicação de código e melhorar a legibilidade de queries complexas. 2. **Paginação (Connections/Relay-style):** Explique os diferentes tipos de paginação (offset-based, cursor-based) e por que o padrão Relay (com `edges` e `nodes`) é preferível para APIs escaláveis, incluindo exemplos de como implementar e consumir. 3. **Filtragem e Ordenação (Arguments):** Demonstre como projetar argumentos flexíveis para campos que permitem filtragem e ordenação, utilizando tipos de entrada (`Input Types`) para encapsular lógica de pesquisa. 4. **Mutations (Input Types e Payloads):** Detalhe o padrão de design para mutations, incluindo o uso de `Input Types` para argumentos de entrada e `Payload Types` para o retorno da mutation (com `success` flag, `message`, e o recurso alterado). 5. **Union Types e Interfaces:** Explique como utilizar `Union Types` e `Interfaces` para modelar dados polimórficos e retornar diferentes tipos de objetos em uma query. 6. **Batching e Dataloader:** Embora não seja um padrão de design GraphQL em si, explique como o conceito de *batching* (agrupamento de requisições) e a implementação via `Dataloader` são cruciais para resolver o problema de N+1 queries em resolvers. 7. **Versionamento de API (Estratégias):** Discuta abordagens para versionamento de APIs GraphQL, considerando a natureza evolutiva do schema. 8. **Ant
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
3 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
4 usos