🌐
ChatGPT intermediate

Estratégias de padrões de design em graphql em GraphQL

Prompt gerado automaticamente para Padrões de design em GraphQL em GraphQL

2 usos GraphQL

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