🎯 Objetivos de Aprendizagem
- Compreender o conceito e papel dos componentes na arquitetura de software.
- Identificar diferentes tipos de componentes (lógicos, físicos e funcionais).
- Aplicar o conceito de componentização em um sistema simples.
📌 Introdução
Componentes são como os “blocos de construção” de um sistema. Cada componente tem uma função clara e deve poder ser compreendido de forma independente, mas também se conectar com os demais para formar o todo.
"O que aconteceria se todos os módulos do iFood estivessem misturados num único arquivo?"
📖 Conteúdo Teórico
🧱 O que é um Componente?
Um componente é uma unidade funcional de software com responsabilidade bem definida, que pode ser desenvolvida, testada e mantida de forma isolada.
🔍 Tipos de Componentes
- Lógicos: organizam o código por funcionalidades (ex: serviço de autenticação)
- Físicos: arquivos executáveis, bibliotecas, containers (ex: microserviço em Docker)
- Funcionais: relacionados à experiência do usuário ou processo de negócio (ex: módulo de carrinho de compras)
O componente de software é uma unidade lógica (como classes ou serviços), enquanto o físico é a unidade que roda em uma máquina real (como um executável ou container)
🎯 Características de um bom componente
- Responsabilidade única
- Baixo acoplamento