Pular para o conteúdo

A fachada: um index.df

relay from ./x — reunir vários módulos internos numa API só, e esconder o resto.

Quando uma biblioteca cresce, ela vira vários arquivos. Quem a usa não deveria precisar saber em qual arquivo mora cada ação. Uma fachada reúne o que é público num ponto só.

text
lib/
  index.df        a fachada: o unico arquivo que quem usa adota
  precos.df       total, desconto
  frete.df        calcular_frete
  _cache.df       interno — nao aparece na fachada
lib/index.df
// index.df
relay from ./precos      // tudo o que precos.df exporta
relay from ./frete
// _cache.df nao e citado: continua interno
main.df
adopt ./lib/index as Loja
out Loja.total(100), Loja.calcular_frete("SC")
DecisãoPorque
o nome local vence o re-exportadoum relay from não sobrescreve o que a fachada definiu
o check abre a superfície de um relay fromseguir até o outro arquivo é possível, mas por ora ele cala em vez de adivinhar
mover uma ação entre arquivos internos não muda nada para foraé o ponto: a fachada é o contrato, os arquivos são detalhe