Baixe o app para aproveitar ainda mais
Prévia do material em texto
Fechar Avaliação: CCT0265_AV_201602712191 » PADRÕES DE PROJETO DE SOFTWARE Tipo de Avaliação: AV Aluno: 201602712191 MISAEL COSTA DOS SANTOS Professor: JOSE CARLOS MILLAN Turma: 9001/AA Nota da Prova: 5,5 Nota de Partic.: 0,5 Av. Parcial 2 Data: 26/11/2016 11:30:28 1a Questão (Ref.: 201602987586) Pontos: 1,0 / 1,0 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 vida de um sistema. Os padrões são diversos, por exemplo, padrões arquiteturais, padrões de análise, padrões de projeto e padrões de código e padrões estruturais. Explique o que são padrões estruturais e dê exemplo de dois deles. Resposta: Os Padrões estuturais cuidam da composição de classes ou objetos. Flywheight e Composite. Gabarito: Padrões Estruturais definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e colaboração mutua. Há sete padrões estruturais GoF: Adapter, Bridge, Composite, Decorator, Façade, Flyweight e Proxy. 2a Questão (Ref.: 201602908995) Pontos: 0,0 / 1,0 Considerando um sistema de vendas onde possuímos o pedido e os itens de pedido. A cada pedido de cliente lhe é atribuído um número de pedido e em seguida solicitado os itens correspondentes a ele. Na finalização do pedido são criadas instâncias do pedido e dos itens. No diagrama de classe de domínio possuímos 2 classes: uma de pedido e outra de itens de pedido. Você é o projetista do sistema e deverá decidir a classe que deverá ser responsável por criar as instâncias de itens de pedido baseandose no padrão CRIADOR. Justifique sua resposta. Resposta: Gabarito: A classe pedido deve ser responsável por criar as instâncias de Itens de Pedido, pois itens de pedido depende de objetos de Pedido. 3a Questão (Ref.: 201602891175) Pontos: 0,0 / 1,0 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 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. a diversidade de padrões disponíveis é bastante grande, podese 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 Um padrão de projeto define uma estrutura que obrigatoriamente não poderá ser alterada pelo desenvolvedor 4a Questão (Ref.: 201602891195) Pontos: 1,0 / 1,0 Assinale a afirmativa correta sobre o padrão Builder: Devese é separar no construtor da própria classe a lógica para criação de um objeto e concentrar a lógica de criação em uma hierarquia de herança. Um dos principais objetivos do padrão Builder é separar o algoritmo de criação de um objeto complexo tanto da especificação, quanto das partes que o compõem. é uma abordagem que não facilita a criação de objetos com diferentes configurações e representações, tornando o código dependente a complexidade das classes relacionadas A legibilidade da solução final, ou seja, para entender como um objeto é criado e sob quais condições, fica comprometida Devese é embutir no construtor da própria classe a lógica para criação de um objeto ou ainda distribuir a lógica de criação em vários métodos adicionais. 5a Questão (Ref.: 201603473927) Pontos: 1,0 / 1,0 Assinale a alternativa correspondente ao padrão de projeto utilizado para adicionar responsabilidades dinâmicas a objetos. Façade Bridge Adapter Decorator Composite 6a Questão (Ref.: 201603490922) Pontos: 1,0 / 1,0 O objetivo do padrão de projeto estrutural de oFlyweight é diminuir o consumo de memória, porém deve ser utilizado com cautela; Gamma et al (2000) recomendam sua utilização somente quando todas as condições forem verdadeiras. Assinale dentre as opções abaixo a unica condição que não é verdadeira Uma aplicação utiliza um grande número de objetos. A aplicação não depende da identidade do objeto. Uma aplicação utiliza um pequeno número de objetos. Muitos grupos de objetos podem ser substituídos por relativamente poucos objetos compartilhados, uma vez que estados extrínsecos são removidos. Os custos de armazenamento são altos por causa da grande quantidade de objetos. 7a Questão (Ref.: 201602901752) Pontos: 0,5 / 0,5 (CESGRANRIO 2008) Muitos frameworks utilizam um padrão de projeto (design pattern) que se baseia no princípio de projeto "Não nos chame, nós iremos chamar você" (O Princípio de Hollywood: "Don't call us, we'll call you."). Uma classe da aplicação herda de uma classe do framework que possui métodos abstratos, os quais são chamados em outros métodos concretos. A classe da aplicação sobrepõe os métodos abstratos da classe do framework com métodos concretos, permitindo que os métodos concretos da classe do framework sejam chamados. O padrão de projeto (design pattern) em questão chamase Strategy. Abstract Factory. Singleton. Template Method. Decorator. 8a Questão (Ref.: 201602902422) Pontos: 0,0 / 0,5 (FGV 2009) Os padrões de projeto orientados a objeto podem ter finalidade de criação, estrutural ou comportamental. Os padrões de criação se preocupam com o processo de criação de objetos. Os padrões estruturais lidam com a composição de classes ou de objetos. Os padrões comportamentais caracterizam as maneiras pelas quais classes ou objetos interagem e distribuem responsabilidades. Assinale a alternativa que apresenta apenas padrões de projeto comportamentais. Mediator, Interpreter e Command. Singleton, Composite e Interpreter. Prototype, Abstract Factory e Builder. Proxy, Builder e Mediator. Composite, Decorato e Proxy. 9a Questão (Ref.: 201603365315) Pontos: 0,5 / 0,5 Podese sucintamente definir o padrão Variation do GRASP como: Criar classes altamente coesas. Criar classe que resolva problemas de inconsistência, criando adaptações para sanálas. Criar camadas para melhor organizar a aplicação. Criar classes que permitam sobrecarga e sobreescrita. Criar classes controladoras. 10a Questão (Ref.: 201602900157) Pontos: 0,5 / 0,5 Marque a alternativa que apresenta apenas padrões GRASP? Coesão alta, controlador, strategy Observer, visitor, strategy Coesão alta, polimorfismo, visitor Coesão alta, controlador e polimorfismo Controlador, polimorfismo e Memento Observação: Estou ciente de que ainda existe(m) 1 questão(ões) não respondida(s) ou salva(s) no sistema, e que mesmo assim desejo finalizar DEFINITIVAMENTE a avaliação. Data: 26/11/2016 11:50:00 Período de não visualização da prova: desde 17/11/2016 até 01/12/2016.
Compartilhar