Adalberto foi incumbido de desenvolver a aplicação web CONE...
Adalberto foi incumbido de desenvolver a aplicação web CONECTA que utiliza arquitetura em múltiplas camadas para conectar a Secretaria de Educação às escolas. Adalberto escolheu utilizar o modelo em três camadas (3 Tier Model), que é composto da camada de apresentação, da camada de negócios e da camada de dados.
Em relação à arquitetura multicamadas proposta e às boas práticas de programação, Adalberto deve implementar
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Vamos analisar a questão a partir da alternativa correta e depois explicar por que as outras alternativas estão incorretas.
Alternativa correta: B - na camada de negócios, a lógica da aplicação.
A arquitetura em três camadas (3-Tier Model) é composta por:
- Camada de Apresentação: Responsável pela interação com o usuário, geralmente através de interfaces gráficas (GUI) ou páginas web. Ela mostra os dados para o usuário e recebe as entradas dele.
- Camada de Negócios: Contém a lógica da aplicação. Essa camada processa as regras de negócio e orquestra a manipulação dos dados.
- Camada de Dados: Responsável pelo acesso aos dados, que geralmente estão armazenados em um banco de dados ou outro sistema de armazenamento persistente.
Agora, vamos justificar as alternativas:
A - na camada de apresentação, as interfaces de dados da aplicação.
Essa alternativa está incorreta porque a camada de apresentação deve conter as interfaces de usuário (UI), não as interfaces de dados. As interfaces de dados referem-se aos métodos através dos quais a aplicação interage com os dados, que são mais apropriadas para a camada de dados ou a camada de negócios.
B - na camada de negócios, a lógica da aplicação.
Essa é a alternativa correta. A lógica da aplicação, que inclui as regras de negócio, deve estar na camada de negócios. Isso permite que a lógica seja reutilizada e mantida de forma centralizada, facilitando a manutenção e a escalabilidade da aplicação.
C - na camada de dados, o banco de dados.
Embora pareça correto à primeira vista, esta alternativa está incompleta. A camada de dados não apenas contém o banco de dados, mas também as operações que interagem com ele, como CRUD (Create, Read, Update, Delete). A definição apenas do banco de dados é muito limitada.
D - na camada de apresentação e na de negócios, as páginas web da aplicação.
Essa alternativa está incorreta porque as páginas web (interfaces de usuário) devem estar apenas na camada de apresentação. A camada de negócios deve ficar separada para conter apenas a lógica da aplicação.
E - na camada de negócios, as validações dos controles web da aplicação.
Esta alternativa está parcialmente correta. Embora algumas validações possam ser feitas na camada de negócios, as validações específicas dos controles web são mais apropriadas para a camada de apresentação. Isso garante que a interface de usuário responda rapidamente aos erros de entrada e guie o usuário de forma imediata.
Ao entender cada uma dessas camadas e as responsabilidades específicas de cada uma, conseguimos identificar que a lógica da aplicação deve, de fato, estar na camada de negócios, conforme indicado na alternativa B. Essa separação de responsabilidades é fundamental para desenvolver sistemas robustos, escaláveis e de fácil manutenção.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Camada de apresentação
É a chamada GUI (Graphical User Interface), ou simplesmente interface. Esta camada interage diretamente com o usuário, é através dela que são feitas as requisições como consultas, por exemplo.
Camada de negócio
Também chamada de lógica empresarial, regras de negócio ou funcionalidade. É nela que ficam as funções e regras de todo o negócio. Não existe uma interface para o usuário e seus dados são voláteis, ou seja, para que algum dado seja mantido deve ser utilizada a camada de dados.
Camada de Dados
É composta pelo repositório das informações e as classes que as manipulam. Esta camada recebe as requisições da camada de negócios e seus métodos executam essas requisições em um banco de dados. Uma alteração no banco de dados alteraria apenas as classes da camada de dados, mas o restante da arquitetura não seria afetado por essa alteração.
FONTE:
https://pt.wikipedia.org/wiki/Modelo_em_tr%C3%AAs_camadas
Eu entendo que o termo "banco de dados" é muito mais ligado ao local de armazenamentos dos dados em si, i.e., está muito mais próximo de um SGBD do que da camada de dados.
A camada de dados de uma aplicação seria somente a interface de comunicação com o banco de dados e não a própria implementação do banco de dados.
Por isso a alternativa C estaria incorreta.
Gabarito: B
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo