Baixe o app para aproveitar ainda mais
Prévia do material em texto
Avaliação: CCT0265_AV_ » 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: 8,0 Nota de Partic.: 1,5 Data: 13/03/2015 18:10:02 (F) 1a Questão (Ref.: 204176) Pontos: 1,5 / 1,5 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: Padrões estruturais lidam com as interfaces e a implementação das classes e objetos. Tratase da forma de organização dos objetos e suas colaboração mútua. Os padrões estruturais são: Adapter, Bridge, Composite, Decorator, Facade, Flyweight e Proxy. Exemplos de seus objetivos são: Bridge separar a abstração de sua implementação para que ambos possam variar de forma independente; Facade fornecer uma interface simplificada para uma interface mais granularizada, por exemplo, ou para outros subsistemas. 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.: 125529) 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: Overload é a sobrecarga de um método. Tratase da criação de um novo método com o mesmo nome de um método da classe pai, porém com assinatura diferente. Override é a sobrescrita de um método. Tratase da redefinição do comportamento de um método da classe pai ao se criar um método de mesmo nome e mesma assinatura. 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. 3a Questão (Ref.: 107775) Pontos: 0,5 / 0,5 Uma das categoria que tradicionalmente se classificam os padrões de projeto :Padrões Estruturais cujo objetivo é: Define como implantar o mecanismo de herança em um grupo de objetos Define formas de gerencia e combinar diferentes comportamentos. Defende formas de instanciar objetos delegando responsabilidades Define como implantar um novo método em uma classe. Define a forma de organização dos objetos e sua colaboração mutua 4a Questão (Ref.: 107782) Pontos: 0,5 / 0,5 Considere as afirmativa abaixo sobre o padrão Builder: I ) É utilizado na instanciação de objetos complexos. II)É visto como um construtor especializado, que irá executar e avaliar diferentes regras de negócio e demais particularidades relacionadas com a criação de um novo objeto. III )A idéia é atribuir a responsabilidade de criação do objeto complexo a outra classe, esta classe irá armazenar todas as configurações e regras necessárias para a instanciação do novo objeto. As afirmativas estão todas corretas As afirmativas II, III estão corretas e a afirmativa I está errada. As afirmativas I, II, estão corretas e a afirmativa III está errada. As afirmativas I, III, estão corretas e II errada As afirmativas I, II, III estão incorretas 5a Questão (Ref.: 118374) Pontos: 0,5 / 0,5 (CONSULPLAN 2012) O desenvolvimento de software é uma atividade que apresenta dificuldades, ligada ao entendimento do problema. Design Patterns surgiram na busca de soluções para as dificuldades, tornandose um mecanismo eficiente no compartilhamento de conhecimento entre os desenvolvedores. Gamma propõe um modo de categorização dos DESIGN PATTERNS, definindo famílias de padrões relacionados, descritos a seguir. I. Abrange a configuração e inicialização de objetos e classes. II. Lida com as interfaces e a implementação das classes e dos objetos. III. Lida com as interações dinâmicas entre grupos de classes e objetos. Essas famílias são denominadas, respectivamente, Structural Patterns, Standard Patterns e Creational Patterns. Behavioral Patterns, Structural Patterns e Standard Patterns. Creational Patterns, Structural Patterns e Behavioral Patterns. Standard Patterns, Structural Patterns e Behavioral Patterns. Standard Patterns, Creational Patterns e Structural Patterns. 6a Questão (Ref.: 107318) 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. Factory Method. Facade. Builder. Mediator. 7a Questão (Ref.: 107360) 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. BUILDER. SINGLETON. PROTOTYPE. FACTORY METHOD. MEDIATOR. 8a Questão (Ref.: 115670) Pontos: 0,5 / 0,5 Memento:Captar e externalizar um estado interno de um objeto, de maneira que esse estado seja restaurado ao objeto em outro momento, sem violar seu encapsulamento (Gamma et al., 2000). Sobre este padrão de projetos podemos afirma com certeza: tem como objetivo criar um meio de armazenar informações sobre um objeto, permitindo acessar essas informações tanto para salvar o estado de um objeto específico, como para recuperar, sempre que for necessário. 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 Oferece uma forma de percorrer este tipo de objeto agregado sem conhecer seus detalhes de implementação É 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.: 115322) Pontos: 1,0 / 1,0 Analise as sentenças abaixo sobre as indicações de uso do Padrão de Projeto Observer e, em seguida, assinale a alternativa correta: I. Quando uma abstração tem dois aspectos, um independente do outro. II. Quando uma mudança em um objeto requer mudanças em outros e o programador não sabe quantos outros objetos devem ser mudados. III. Quando um objeto deve ser capaz de avisar outros sem fazer suposições sobre quem são os objetos. Apenas as sentenças I e II estão corretas Todas as sentenças estão corretas Apenas a sentença II está correta Apenas as sentenças I e III estão corretas Apenas as sentenças II e III estão corretas Gabarito Comentado. 10a Questão (Ref.: 118357) Pontos: 1,0 / 1,0 (CESGRANRIO 2008) Ao alterar o estado de uma classe, o desenvolvedor deseja que uma ou mais classes da interface gráfica sejam modificadas. Entretanto, o desenvolvedor não acha interessante criar um acoplamento forte entre essas classes. Qual padrão de projeto comportamental é mais adequado para resolver essa situação? Adapter. Abstract Factory. Decorator. Composite. Observer. Período de não visualização da prova: desde 03/03/2015 até 17/03/2015.
Compartilhar