Questões de Concurso
Comentadas sobre padrões de projeto (design patterns) em arquitetura de software
Foram encontradas 502 questões
Observe as afirmativas abaixo:
I. Com frequência, equipes de desenvolvimento de software escrevem classes que proveem funcionalidades similares às de outras classes já existentes. Esse padrão se aplica a qualquer contexto em que se deseja implementar funcionalidades já implementadas em outra classe, mas com interface diferente da classe já implementada. Esse padrão define uma nova classe de maneira que ela contenha uma instância da classe velha como um atributo privado, e implemente cada método da nova classe usando métodos da classe antiga.
II. Fornece uma interface unificada para um conjunto de interfaces em um subsistema. Define
uma interface de nível mais alto que torna o subsistema mais fácil de ser usado.
III. Define o esqueleto de um algoritmo em uma operação, postergando alguns passos para as subclasses. Permite que subclasses redefinam certos passos de um algoritmo sem mudar a estrutura do mesmo. Esse padrão pode ser usado para implementar as partes invariantes do algoritmo uma só vez e deixar para as subclasses a implementação do comportamento que pode variar.
IV. Evita o acoplamento do remetente de uma solicitação ao seu receptor ao dar a mais de um
objeto a oportunidade de tratar a solicitação. Encadeia os objetos receptores, passando a
solicitação ao longo da cadeia até que um objeto a trate. Esse padrão é utilizado quando
mais de um objeto pode tratar uma solicitação e o objeto que a tratará não é conhecido a
priori. O objeto que trata a solicitação é escolhido automaticamente.
V. Você começou a trabalhar em um projeto que utiliza tecnologia Java RMI. Nesse projeto, é implementado um padrão de projeto que provê um ponto através do qual um objeto controla o acesso a outro. No projeto em questão, um objeto remoto que contém a implementação real é acessado através de um outro objeto local, de forma que o objeto local controla o acesso ao remoto. Para isso, ambos possuem a mesma interface.
As afirmativas acima descrevem, respectivamente, os seguintes padrões de projeto:
Considere os seguintes requisitos funcionais de um software de frente de caixa de uma sorveteria:
I. ao selecionar um tipo qualquer de sorvete, pode-se adicionar vários condimentos a esse sorvete (tais como coberturas de diferentes sabores, granulados etc.) e o sistema deve calcular o valor total (sorvete + condimentos) dinamicamente ao fechar o pedido;
II. ao fechar o pedido, o sistema deve permitir adaptar o tipo de pagamento (cartão de crédito ou débito com desconto);
III. ao concluir o pedido, o sistema deve permitir que o valor total e a descrição do pedido sejam enviados a outros objetos (ou módulos) do sistema que estejam interessados nesses dados.
Com base nos requisitos funcionais detalhados acima, qual dos padrões de projetos abaixo são adequados para resolver cada requisito funcional, respectivamente?
Com base nos padrões de projeto de software, analise as afirmativas.
I - O padrão GoF (Gang of Four) é dividido em quatro grupos: padrão de criação, padrão de estrutura, padrão de contexto e padrão de comportamento.
II - O padrão Singleton garante que apenas uma única instância de uma determinada classe seja instanciada durante a execução.
III - O padrão Iterator faz com que os acessos aos elementos de uma coleção de dados sejam realizados de forma sequencial.
Está correto o que se afirma em
Erich Hamma, Richard Helm, Ralph Johson e John Vlissdes, mais conhecidos como “Gang of Four”, coletaram originalmente 23 Design Pattems (Padrões de Projeto) e organizaram em 3 grupos denominados:
Assinale a alternativa correta.
O padrão de projetos MVC (Model-View-Controller) tem como objetivo separar lógica de negócios (Model), interface do usuário (View) e o fluxo da aplicação (Control). O padrão MVC usa em sua arquitetura diversos outros padrões de projeto para atingir seu objetivo.
Em MVC, as classes do Model não devem conhecer nada sobre as camadas de interface que exibem suas informações. O padrão de projeto utilizado pelo padrão arquitetural MVC que é responsável por fazer com que o Model informe mudanças em seu estado para as interfaces, sem conhecê-las, é o:
Para que isto ocorra será utilizado o padrão de projeto