A abordagem MVC (Model‐View‐Controller – Modelo/Visão/Contro...

Próximas questões
Com base no mesmo assunto
Q738336 Arquitetura de Software
A abordagem MVC (Model‐View‐Controller – Modelo/Visão/Controlador) compõe‐se de três objetos: modelo, visão e controlador. O modelo é o objeto da aplicação, a visão é a apresentação na tela e o controlador que é quem define a maneira como a interface do usuário reage às entradas do mesmo. MVC utiliza vários padrões de projeto, cada um com as suas características. Na abordagem MVC, dois padrões têm as seguintes funções: especificar por falta (by default) a classe controladora para uma visão e acrescentar capacidade de rolagem (scrolling). Assinale a alternativa que apresenta, respectivamente, esses dois padrões de projeto.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa Correta: E - Factory Method e Decorator.

Esta questão aborda a arquitetura MVC (Model-View-Controller) e os padrões de projeto associados. Compreender a função de cada componente do MVC é crucial para resolver a questão. O Modelo representa os dados e a lógica de negócios, a Visão é responsável pela apresentação e o Controlador gerencia as entradas do usuário e atualiza o modelo e a visão de acordo. Além disso, a questão exige conhecimento sobre padrões de projeto específicos que interagem com a arquitetura MVC.

Justificando a Alternativa Correta:
A alternativa E identifica corretamente os padrões Factory Method e Decorator. O Factory Method é utilizado para especificar, por padrão, a classe controladora para uma visão, ajudando na criação de objetos sem especificar a classe exata do objeto que será criado. Já o Decorator é um padrão estrutural que permite adicionar comportamentos adicionais aos objetos de forma dinâmica, o que pode incluir a capacidade de rolagem (scrolling).

Analisando as Alternativas Incorretas:
A - Strategy e Adapter: O padrão Strategy define uma família de algoritmos, encapsula cada um deles e os torna intercambiáveis, o que não está relacionado diretamente à especificação de uma classe controladora ou à rolagem. O Adapter é usado para permitir que classes incompatíveis trabalhem juntas, sem relação direta com as funções mencionadas na questão.

B - Iterator e Mediator: O Iterator fornece uma maneira de acessar os elementos de um agregado sequencialmente sem expor sua representação subjacente, enquanto o Mediator define um objeto que encapsula como um conjunto de objetos interage. Nenhum destes padrões se aplica diretamente aos usos descritos na questão.

C - Observer e Composite: O Observer define uma dependência um-para-muitos entre objetos para que, quando um objeto muda de estado, todos os seus dependentes sejam notificados e atualizados automaticamente. O Composite permite que você componha objetos em estruturas de árvore para representar hierarquias parte-todo. Nenhum destes padrões é usado para especificar controladores ou adicionar capacidade de rolagem.

D - Command e Composite: O Command encapsula uma solicitação como um objeto, permitindo parametrizar clientes com diferentes solicitações, filas ou solicitações de log, e suporta operações que podem ser desfeitas. O Composite novamente não se aplica aos usos descritos na questão.

Compreender o funcionamento do MVC e a aplicação dos padrões de projeto no contexto deste modelo é essencial para resolver a questão corretamente. A combinação dos padrões Factory Method e Decorator é a única que se alinha com as funções descritas.

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

A abordagem MVC usa outros padrões de projeto, tais como Factory Method (112), para especificar por falta (by default) a classe controladora para uma visão e Decorator (170), para acrescentar capacidade de rolagem (scrolling) a uma visão. Mas os principais relacionamentos na MVC são fornecidos pelos padrões Observer, Composite e Strategy.

FONTE: 

Padrões de Projetos: Soluções Reutilizáveis

Por Erich Gamma

By default = por falta, tá beleza

A redação foi muito ruim, li umas 4 vezes pra entender mas a ideia é o factory method é o unico criacional, então como ele esta especificando por default, quer dizer que se nao for passado nada tem um valor default.

por eliminação foi no decotator para o segunda. mas não é bem o caso principal.

Essa banca tem uma redação osso

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo