Contrato do consumidor
Fluxo para descobrir e manter um contrato mínimo orientado ao uso.
Do comportamento ao contrato do consumidor: o consumidor é dono da abstração porque é ele que conhece a operação indispensável. Evite interfaces que espelham a infraestrutura inteira.
DESCOBRIR (regra de negócio)
Salvar pedido (necessidade da regra)
→ revela →
Nomeie a ação (Save(order))
POSSUIR (pacote checkout)
→ vira contrato →
OrderSaver (interface mínima) [checkout possui]
→ usa →
Usa contrato (independente)
ADAPTAR (bordas adaptadoras, tracejado)
→ é satisfeito por →
Postgres (implementa Save)
OrderSaver → fake no teste → Fake (Save no teste)