Pular para o conteúdo
Voltar para o blog

Arquitetura de dados em duas camadas com Next.js e Prismic

Maurício Romagnollo1 min de leitura
  • Arquitetura
  • Next.js
Diagrama de camadas de dados

Quando um projeto cresce, misturar chamadas ao CMS com regras de domínio vira uma bola de neve. Neste post mostro a estratégia de duas camadas que uso: um DataSource que fala "cru" com o Prismic e um Service que expõe um modelo de domínio limpo em inglês.

Por que separar?

O DataSource conhece os nomes de campo em português do Prismic (titulo, resumo, ...). O Service traduz isso para o domínio (title, excerpt, ...). As páginas só conhecem o domínio.

export interface IApiService {
  getPosts(lang: AppLocale, cache?: Cache): Promise<BlogPost[]>
  getPostByUid(uid: string, lang: AppLocale): Promise<BlogPost | null>
}
  • DataSource: acesso raw ao Prismic (PT)
  • Service: mapeia raw → domínio (EN)
  • Página: consome só o Service

A arquitetura é sobre intenção, não sobre frameworks.

Robert C. Martin
Diagrama de camadas de dados
Fluxo: Página → Service → DataSource → Prismic