Baixe o app para aproveitar ainda mais
Prévia do material em texto
Avaliação: CCT0152_AV_201102204935 » PADRÕES DE PROJETO DE SOFTWARE Tipo de Avaliação: AV Aluno Professor: HORACIO DA CUNHA E SOUZA RIBEIRO Turma: 9001/AA Nota da Prova: 5,5 Nota de Partic.: 1 Data: 17/11/2014 08:59:19 1a Questão (Ref.: 201102333193) Pontos: 0,5 / 0,5 Sobre padrões de projeto escolha a opção incorreta. Padrões de projeto estão relacionados a diferentes níveis de abstração no desenvolvimento de aplicações orientadas a objetos, podendo aparecer ao longo de todo ciclo de análise e projeto de um sistema a diversidade de padrões disponíveis é bastante grande, pode-se ter, por exemplo, padrões arquiteturais, padrões de análise, padrões de projeto e padrões de código. Cada padrão descreve um problema que ocorrem repetidas vezes em nosso ambiente e fornece o núcleo da solução para aquele problema, de tal maneira que se pode usar essa solução milhões de vezes sem nunca fazê-la da mesma forma Os padrões de projeto são descrições de objetos que se comunicam e classes que são customizadas para resolver um problema genérico de design em um contexto específico. Um padrão de projeto define uma estrutura que obrigatoriamente não poderá ser alterada pelo desenvolvedor 2a Questão (Ref.: 201102303208) Pontos: 0,5 / 0,5 Um dos princípios do padrão de arquitetura MVC é a separação da lógica da apresentação do modelo. PORQUE É, muitas vezes, mais prático manter a visão e o controlador unificados, inclusive, por demandas da tecnologia. Analisando-se as afirmações acima, conclui-se que ... . a primeira afirmação é verdadeira, e a segunda é falsa. as duas afirmações são verdadeiras, e a segunda não justifica a primeira. As duas afirmações são falsas a primeira afirmação é falsa, e a segunda é verdadeira. as duas afirmações são verdadeiras, e a segunda justifica a primeira. 3a Questão (Ref.: 201102303207) Pontos: 0,0 / 0,5 Para fazer a modelagem de um padrão de projeto (design pattern) utilizando a UML é DESNECESSÁRIO. identificar as soluções específicas e particulares para o problema básico e reificá-la como um mecanismo. identificar os elementos do padrão de projeto que devem ser vinculados aos elementos em um contexto específico e representá-los como parâmetros para colaboração. identificar as soluções comuns para o problema básico. entender o padrão de projeto como uma colaboração representada com suas partes estruturais e comportamentais. fazer a modelagem do mecanismo como uma colaboração, fornecendo seus aspectos estruturais, assim como os aspectos comportamentais. 4a Questão (Ref.: 201102344424) Pontos: 0,0 / 1,0 (FESMIP-BA - 2011) O Design Patterns que tem a finalidade de usar compartilhamento para suportar grandes quantidades de objetos, de granularidade fina, de maneira eficiente, é denominado State. Flyweight. Composite. Builder. Strategy. 5a Questão (Ref.: 201102342337) Pontos: 1,0 / 1,0 Marque a alternativa que representa o padrão GRASP que está relacionada com a seguinte questão: como projetar objetos e subsistemas de modo que variações não causem impactos indesejados? Polimorfismo Indireção Invenção Pura Variações Protegidas Controlador 6a Questão (Ref.: 201102332746) Pontos: 0,5 / 0,5 Conhecido como padrões da gangue dos quatro, por terem sido desenvolvidos por quatro autores, os Padrões GoF (Group of Four) estão divididos pelos seguintes famílias de padrões: Padrões de Criação ou de Construção, Padrões Estruturais e Padrões Comportamentais. Considerando os padrões de Criação ou de Construção, analise o modelo abaixo e em seguida marque a alternativa que define a representação. Singleton. Builder. Factory Method. Mediator. Facade. 7a Questão (Ref.: 201102332770) Pontos: 0,0 / 0,5 Segundo Metsker, o padrão de projeto GoF _________________ é aplicado para substituir a geração de instâncias não-inicializadas de uma classe, fornecendo novos objetos a partir de uma classe-exemplo. MEDIATOR. SINGLETON. PROTOTYPE. BUILDER. FACTORY METHOD. 8a Questão (Ref.: 201102341096) Pontos: 0,0 / 0,5 Iterator :Fornecer uma maneira de acessar seqüencialmente os elementos de um objeto agregado sem expor sua implementação. (Gamma et al., 2000). Sobre este padrão de projetos podemos afirma com certeza: É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais objetos tem uma grande facilidade de mudança de comportamento, pode-se alterar seu funcionamento sem que seja necessário nenhuma mudança nas demais classes envolvidas, desde que envolvam coleções e matrizes. Oferece uma forma de percorrer este tipo de objeto agregado sem conhecer seus detalhes de implementação. Considerando objetos que implementam arrays, pode ser visto como uma classe intermediária de comunicação e gerenciamento, evitando que os objetos se comuniquem de forma direta É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais objetos, mas não deve ser usado quando associado a percorrer arrays ou tabelas. 9a Questão (Ref.: 201102428011) Pontos: 1,5 / 1,5 Decorator tem como principal objetivo a decoração de classes em tempo de execução, isto é, adicionar novos produtos e/ou novas responsabilidades à objetos dinamicamente sem alterar o código das classes existentes. Descreva um exemplo que represente esse padrão. Resposta: em uma janela pode adicionar objetos como barras de rolagem,caixas de texto,etc.Pode se criar janelas decoratror que será entendida pelos decoradores que irao inserir propriedades na janela. Gabarito: Em uma janela pode-se adicionar objetos como barras de rolagem, caixas de texto, labels, etc. Pode-se criar uma classe JanelaDecorador que será estendida pelos decoradores que irão inserir propriedades na janela. Podendo incluir barra vertical, horizontal e para cada criar outra classe decorador, inserindo características novas. 10a Questão (Ref.: 201102350957) Pontos: 1,5 / 1,5 Os métodos polimórficos utilizam os conceitos de overloading e overrinding. Apresente a diferença entre os dois conceitos. Resposta: overloading=quando temos um excesso de carga ao mesmo tempo;overrindig=quando temos um excesso de acessos ao mesmo tempo Gabarito: O conceito OVERLOADING é a sobrecarga dos métodos: define vários métodos de mesmo nome com assinaturas diferentes. O conceito OVERRIDING altera o comportamento do método na subclasse, mantendo a mesma assinatura, com funcionalidade diferente.
Compartilhar