Questões de Concurso
Sobre padrões de projeto (design patterns) em arquitetura de software
Foram encontradas 634 questões
Analise as afirmativas abaixo sobre alguns elementos que descrevem os Padrões de Projeto:
I. Problema: descreve o problema de que o padrão trata. II. Solução: fornece uma descrição detalhada de uma solução proposta para o problema. III. Consequências: descrevem os possíveis prós e contras que devem ser considerados quando o padrão é implementado e as consequências do uso do padrão.
Estão CORRETAS as afirmativas:
(1) Nome. (2) Exemplo. (3) Contexto. (4) Problema. (5) Solução.
(_) Uma descrição da solução, mais do que do problema ou do contexto.
(_) Uma ou mais figuras, diagramas ou descrições que ilustrem um protótipo de aplicação.
(_) Relacionamentos estáticos e regras dinâmicas, descrevendo como construir artefatos de acordo com o padrão, frequentemente citando variações e formas de ajustar a solução segundo as circunstâncias. Inclui referências a outras soluções e o relacionamento com outros padrões de nível mais baixo ou mais alto.
(_) A descrição das situações sob as quais o padrão se aplica.
(_) Uma descrição das forças e restrições envolvidas e sobre como elas interagem.
Os padrões ________________ são aqueles que abstraem e/ou adiam o processo de criação dos objetos. Eles ajudam a tornar um sistema independente de como seus objetos são criados, compostos e representados.
Os padrões ________________ se preocupam com a forma como classes e objetos são compostos para formar estruturas maiores.
Os padrões ________________ se concentram nos algoritmos e atribuições de responsabilidades entre os objetos.
Um antipadrão constitui o uso indevido dos padrões de projeto ou o seu uso exagerado, o que pode ser constatado pela utilização de padrões impróprios para um determinado contexto, ou uso inadequado (1ª parte). A utilização dos padrões proporciona um aumento na flexibilidade do sistema, entretanto pode deixá-lo mais complexo ou degradar a performance (2ª parte). Algumas perdas não são toleráveis, mas subestimar os efeitos colaterais da adoção dos patterns é um erro comum, principalmente daqueles que tomam o uso como normal e desnecessário (3ª parte).
A sentença está:
I - O padrão de projeto Observer define uma dependência entre os objetos, de modo que, quando um objeto muda de estado, todos os seus dependentes são automaticamente notificados. Assim, ele é um padrão de projeto classificado como comportamental. II - A linguagem de programação Java implementa a classe java.util.Observable e a interface java-.util.Observer para que o padrão de projeto Observer possa ser rapidamente implementado. III - Nesse padrão de projeto, há dois elementos básicos de objetos. O primeiro objeto é o modelo que armazena as informações em alguma estrutura de dados ou array. Já o segundo, refere-se às visões e é responsável por exibir as informações dos modelos de diferentes formas. IV - No padrão Observer, o modelo notifica as visões sobre qualquer alteração em seus dados. Já as visões, recuperam as informações do modelo para exibi-las de modo atualizado e de diferentes formas.
Está(ão) correta(s)
Alguns padrões de projeto surgem em diversas construções de código utilizando a linguagem Java. Por exemplo, na biblioteca de entrada e saída, a subclasse FileReader consegue ler um caracter ou uma sequência de caracteres de um arquivo. Entretanto, essa subclasse não possui um método para ler uma linha inteira de entrada e, por esse motivo, é comum o programador associar a sub-classe FileReader com a classe BufferedReader que adiciona métodos que permitem ler os dados de maneira mais sofisticada. Assim, a construção da linha do código ficaria da seguinte maneira:
BufferedReader entrada = new BufferedReader(new FileReader("meuArquivo.txt"));
Considerando esse contexto, assinale a alternativa
que apresenta o padrão de projeto utilizado para a
construção do código Java acima descrito.
Assinale a alternativa correta em relação ao assunto.
Assinale a alternativa que contém somente padrões criacionais
Tendo em vista a situação-problema apresentada, para a implementação do software, seria adequado o uso do padrão de projeto
Um membro de uma equipe implementou uma classe responsável por se conectar com o banco de dados da aplicação. No entanto, essa classe está sendo instanciada em diversos trechos do programa, afetando consideravelmente seu desempenho. Para resolver esse problema, o técnico decidiu reduzir a quantidade de inicializações de objetos dessa classe, reaproveitando a mesma instância sempre que possível.
Qual dos padrões de projeto apresenta a solução descrita nesse cenário?
O padrão GRASP de Expert é utilizado para atribuir uma responsabilidade à classe que possui a informação necessária para atender essa mesma responsabilidade.
O padrão de comportamento Command permite representar comandos como objetos, sem a necessidade de saber como a operação é executada.
Por meio do padrão Facade, é possível construir uma interface comum e simplificada para um sistema ou subsistema.
O objetivo do padrão Singleton é especificar os tipos de objetos a partir de uma instância de protótipo.
O princípio da segregação de interface dos padrões SOLID define que uma classe deve possuir somente uma operação para ser executada.
Entre os padrões definidos pelo GRASP, destacam-se baixa coesão e alto acoplamento.