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 fachadalib/index.df
// index.df
relay from ./precos // tudo o que precos.df exporta
relay from ./frete
// _cache.df nao e citado: continua internomain.df
adopt ./lib/index as Loja
out Loja.total(100), Loja.calcular_frete("SC")| Decisão | Porque |
|---|---|
| o nome local vence o re-exportado | um relay from não sobrescreve o que a fachada definiu |
o check abre a superfície de um relay from | seguir 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 |