Roteiro: (1) a Big Ball of Mud; dependências em camadas vs. invertidas; (2) SOLID no nível das classes; (3) Clean Architecture: camadas, a Regra de Dependência, o mapeamento do Hands-on 1; (4) Hexagonal: portas, adaptadores, os adaptadores da loja, testes; (5) Clean vs. Hexagonal, quando não usar; (6) CQRS; (7) erros.
Em tempo de execução, as chamadas continuam indo de service → BD; só a dependência de compilação se inverte. É isso que o D do SOLID faz.
O DIP é o que torna possíveis a Clean e a Hexagonal: inverta a dependência em cada fronteira.