Oi, Lune.
É uma pergunta excelente e demonstra que você já captou a essência do pensamento computacional. Quando saímos de uma playlist e vamos para um sistema bancário, a escala muda, mas os fundamentos permanecem.
Pra lidar com essa complexidade sem perder o controle, utilizamos algumas estratégias de decomposição e organização.
1. Decomposição por domínios (Microserviços)
Em um banco, em vez de um único bloco gigante, dividimos o sistema em "pequenos sistemas" independentes. Imagine que cada bloco que você viu na atividade se torna um serviço isolado:
- Bloco A: Serviço de Autenticação (cuida apenas de quem entra).
- Bloco B: Serviço de Saldo (cuida apenas dos números).
- Bloco C: Serviço de Transferência.
Isso garante que, se o "bloco de transferências" precisar de manutenção, o "bloco de visualização de saldo" continue funcionando perfeitamente.
2. Contratos de interface (APIs)
Para garantir a segurança na troca de dados entre o app, o banco e terceiros, estabelecemos contratos.
Cada bloco define exatamente o que aceita receber e o que vai entregar. É como uma tomada: o aparelho (app) não precisa saber como a energia é gerada, ele só precisa saber que, ao conectar no formato correto (API), receberá o que precisa de forma segura.
3. Camadas de segurança e observabilidade
Para não perder a "visão do todo" em meio a tantos blocos, adicionamos camadas que atravessam todos eles:
- Gateway de segurança: Um porteiro único na entrada que valida todas as requisições antes de espalhá-las para os outros blocos.
- Rastreabilidade (Tracing): Como os dados passam por muitas mãos (App -> API -> Banco), usamos um "identificador único" para cada transação. Assim, conseguimos olhar de cima e ver exatamente por onde aquela informação passou e onde ela pode ter parado.
Por que isso funciona?
A ideia de modularidade que você estudou é o que permite a escalabilidade. Se o sistema bancário fosse um bloco único, qualquer pequena alteração poderia derrubar o banco inteiro. Ao decompor, você isola falhas e protege os dados, pois cada bloco só tem acesso ao que é estritamente necessário para sua função.
Então, a decomposição em sistemas complexos é feita transformando etapas lógicas em componentes físicos independentes que conversam através de regras muito bem definidas.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!