Padrões Arquiteturais para Aplicações Web
Gabarito: letra D. O padrão MVC (Model-View-Controller) é o mais apropriado porque separa explicitamente a lógica de negócio (Model), a interface do usuário (View) e o controle de fluxo de dados (Controller), atendendo exatamente ao requisito de separação clara entre esses componentes. Nenhum dos outros padrões oferece essa separação tríplice de forma estruturada.
A banca testa o conhecimento dos padrões arquiteturais clássicos e sua aplicação no contexto de aplicações web. O MVC é um padrão consolidado para esse fim, enquanto as demais alternativas se referem a estilos de arquitetura com outros propósitos.
Padrão Arquitetural | Separação Lógica de Negócio | Separação Interface do Usuário | Separação Controle de Fluxo | Adequação ao Requisito |
|---|
MVC (Model-View-Controller) | Sim (Model) | Sim (View) | Sim (Controller) | ✅ Total |
Descentralizado | Não define | Não define | Não define | ❌ Nenhuma |
Pipeline | Não | Não | Parcial (sequencial) | ❌ Baixa |
Cliente-Servidor | Não especifica | Não especifica | Não especifica | ❌ Parcial |
Peer-to-Peer | Não | Não | Não | ❌ Nenhuma |
Alternativa A — ❌ Incorreta
O padrão descentralizado não é um padrão arquitetural específico; refere-se a sistemas onde não há um ponto central de controle. Ele não define uma separação entre lógica de negócio, interface e fluxo — é mais um conceito de distribuição de responsabilidades, não uma estrutura com camadas diferenciadas.
Alternativa B — ❌ Incorreta
O padrão pipeline (ou duto e filtro) organiza o processamento em etapas sequenciais (filtros) conectadas por dutos. Embora possa ser usado em certos contextos, não foi projetado para separar interface do usuário, lógica de negócio e controle de fluxo em uma aplicação web típica. É mais adequado para sistemas de transformação de dados, como compiladores ou processamento de streams.
Alternativa C — ❌ Incorreta
O modelo cliente-servidor é uma arquitetura de comunicação entre um cliente (que solicita serviços) e um servidor (que os fornece). Embora seja a base de aplicações web, ele não especifica como organizar a lógica interna da aplicação. Por si só, não garante a separação entre lógica de negócio, interface e fluxo — o servidor poderia misturar tudo em um único bloco.
Alternativa D — ✅ Correta ⟵ GABARITO
O padrão MVC (Model-View-Controller) é explicitamente projetado para separar três responsabilidades:
Model: gerencia os dados e a lógica de negócio.
View: exibe a interface do usuário.
Controller: processa as entradas do usuário, controla o fluxo e atualiza o Model e a View.
Essa separação facilita a manutenção, a testabilidade e o desenvolvimento em equipe, sendo o padrão mais indicado para aplicações web que exigem essa estruturação.
Alternativa E — ❌ Incorreta
O padrão Peer-to-Peer (P2P) arquitetura onde cada par (peer) atua como cliente e servidor simultaneamente, compartilhando recursos sem um coordenador central. É usado em redes de compartilhamento de arquivos, blockchain, etc. Não oferece nenhuma separação interna entre lógica de negócio, interface e fluxo — o foco é a comunicação descentralizada entre nós.
Conclusão: A única alternativa que atende ao requisito de separar lógica de negócio (Model), interface do usuário (View) e controle de fluxo (Controller) é o MVC, portanto gabarito letra D.