Arquitetura de dados em duas camadas com Next.js e Prismic
Maurício Romagnollo1 min de leitura
- Arquitetura
- Next.js

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
