Pular para conteúdo

Solução: Aula 12 - Diagrama de Componentes 💡

Respostas e explicações para os exercícios da Aula 12.


✅ 1. O que é um Componente? (Básico)

Resposta Sugerida: Um componente é uma parte física e substituível do sistema que encapsula um conjunto de funções e se comunica apenas através de interfaces. Ex: Uma DLL, um arquivo JAR, um script Python ou um microserviço.


✅ 2. Lollipop e Socket (Básico)

Resposta Sugerida: * Provided Interface (Lollipop/Pirulito): A interface que o componente "oferece" para os outros usarem. * Required Interface (Socket/Tomada): A interface que o componente "precisa" que outro forneça para funcionar.


✅ 3. Acoplamento de Componentes (Intermediário)

Explicação: O acoplamento deve ser baseado em interfaces, não em implementações. Se o Componente A depende da interface IPagamento, eu posso trocar o Componente B (PayPal) pelo Componente C (Stripe) sem precisar alterar o código interno do Componente A.


✅ 4. Camadas vs Componentes (Intermediário)

Explicação: Camadas são organizações lógicas (ex: Camada de Visão). Componentes são organizações físicas (ex: index.html, main.js). Em uma boa arquitetura, os componentes são distribuídos dentro das camadas de forma a manter a alta coesão.


✅ 5. Desafio: Design de API (Desafio)

Resolução Sugerida:

graph LR
    App[Mobile App] -- IAuth --> API[Gateway API]
    API -- IOrder --> Srv[Serviço Pedidos]
    Srv -- IPay --> Gateway[Gateway Externo]

    style API fill:#e1f5fe
    style Srv fill:#fff3e0

Voltar para os Exercícios