Baixe o app para aproveitar ainda mais
Prévia do material em texto
04/05/2015 BDQ Prova http://simulado.estacio.br/bdq_simulados_ead_ens_preview.asp?cript_hist=426556760 1/4 PADRÕES DE PROJETO DE SOFTWARE Simulado: CCT0265_SM_201201560586 V.1 Fechar Aluno(a): PAULO WANKS DE SENA CAVALCANTE Matrícula: 201201560586 Desempenho: 6,0 de 8,0 Data: 04/05/2015 23:14:29 (Finalizada) 1a Questão (Ref.: 201201819224) O uso de classes "statics" garante que somente uma instãncia estará em memória e que a destruição pelo "garbage collection" será mais rápida do que o uso do padrão singleton. Por que então devemos usar o padrão singleton? Sua Resposta: OK. Compare com a sua resposta: Porque uma classe ¿static¿ SEMPRE é carregada na memória quando a aplicação é executada e a classe singleton não, sendo carregada na memória quando solicitada a primeira instância. 2a Questão (Ref.: 201201820820) 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. Sua Resposta: OK. Compare com a sua resposta: 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. 3a Questão (Ref.: 201201731949) Pontos: 1,0 / 1,0 Podemos afirmar que os Padrões Estruturais da família GoF: São projetados para organizar, gerenciar e combinar diferentes comportamentos. Aumentam a responsabilidade do programador em depurar o código e as rotinas necessárias à documentação dos processos. Colocam em dúvida o tratamento dispensado aos usuários na fase de levantamento das necessidades. Fornecem um guia de como instanciar objetos, que normalmente envolve decisões dinâmicas para escolher, por exemplo, qual classe instanciar ou a quais objetos delegar responsabilidade. Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e colaboração mútua. 4a Questão (Ref.: 201201735667) Pontos: 1,0 / 1,0 Na UML, o padrão Singleton (GoF) pode ser visto como na classe abaixo: 04/05/2015 BDQ Prova http://simulado.estacio.br/bdq_simulados_ead_ens_preview.asp?cript_hist=426556760 2/4 Sobre o padrão de projeto Singleton, I o número 1 no canto superior da classe pode ser utilizado opcionalmente para indicar que esta classe terá apenas uma única instância. II para se implementar o padrão Singleton na classe acima, esta deverá possuir um método construtor ServicesFactory() privado. III caso uma subclasse estenda a classe ServicesFactory através de herança, o método getInstance() deverá ser sobrescrito (override) para construir a subclasse. IV o método getInstance() deverá ser obrigatoriamente declarado como um método estático (static). Assinale a alternativa que indica assertivas CORRETAS: I II III IV II III IV I II III I II IV I III IV Gabarito Comentado. 5a Questão (Ref.: 201201735679) Pontos: 1,0 / 1,0 (CESGRANRIO 2010) Em um sistema de software para controlar pedidos para entrega em domicílio, deve haver uma funcionalidade que permita que o atendente solicite a repetição de um pedido anteriormente feito por um cliente. O gerente do restaurante informou que essa funcionalidade aumentaria a agilidade no atendimento aos clientes, visto que muitos deles tendem a fazer pedidos similares aos que já fizeram anteriormente. Ao usar essa funcionalidade, o atendente do restaurante seleciona um pedido cuja composição corresponde a produtos normalmente requisitados pelos clientes e solicita ao sistema a construção de um novo pedido igual ao selecionado. Esse novo pedido pode, então, ser alterado pelo atendente se o cliente solicitar a adição de novos produtos do cardápio, por exemplo. Portanto, a parte principal dessa funcionalidade corresponde a criar uma cópia de um pedido a partir de pedido preexistente. Na implementação dessa funcionalidade, seu desenvolvedor deve utilizar qual padrão de projeto do catálogo GoF (Gang of Four), dentre os listados abaixo? Factory Method. Builder. Command. Prototype. Abstract Factory. 04/05/2015 BDQ Prova http://simulado.estacio.br/bdq_simulados_ead_ens_preview.asp?cript_hist=426556760 3/4 6a Questão (Ref.: 201201724420) Pontos: 1,0 / 1,0 Uma das categoria que tradicionalmente se classificam os padrões de projeto :Padrões Comportamentais cujo objetivo é: Define como implantar o mecanismo de herança em um grupo de objetos Define formas de gerencia e combinar diferentes comportamentos. Define a forma de organização dos objetos e sua colaboração mutua Defende formas de instanciar objetos delegando responsabilidades Define como implantar um novo método em uma classe. 7a Questão (Ref.: 201201731951) Pontos: 0,0 / 1,0 Analise as sentenças abaixo sobre os grupos de padrões da família GoF e, em seguida, assinale a alternativa correta: I. Os Padrões Comportamentais são projetados para organizar, gerenciar e combinar diferentes comportamentos. Podemos citar os seguintes padrões pertencentes a esse grupo: Chain of Responsibility, Command e Interpreter. II. Os Padrões de Criação fornecem um guia de como instanciar objetos. Esta ação normalmente envolve decisões estáticas para escolher, por exemplo, quais objetos instanciar ou a quais classes delegar responsabilidade. São doze os padrões de criação: Adapter, Bridge, Composite, Decorator, Façade, Flyweight, Proxy, Abstract Factory, Builder, Factory Method, Prototype e Singleton. III. Os Padrões Estruturais definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e colaboração mútua. Todas as sentenças estão corretas Apenas as sentenças I e III estão corretas Apenas a sentença II está correta Apenas as sentenças II e III estão corretas Apenas as sentenças I e II estão corretas 8a Questão (Ref.: 201201724440) Pontos: 1,0 / 1,0 Entre as vantagens do padrão Interpreter podemse citar: I facilidade para mudar e estender a gramática, pois, o padrão utiliza classes para representar as regras gramaticais. I i Podese usar herança para mudar ou estender a gramática, assim como expressões existentes podem ser modificadas incrementalmente e novas expressões podem ser criadas a partir das existentes; Iii a implementação da gramática é mais fácil, pois, classes que definem os nós folhas da árvore tem implementações similares. Por outro lado, uma das desvantagens é que o padrão Interpreter define, ao menos, uma classe para cada regra da gramática, logo, gramáticas com muitas regras são difíceis de manter e administrar. As afirmativas II, III estão corretas e a afirmativa I está errada. As afirmativas I, III, estão corretas e II errada As afirmativas estão todas corretas As afirmativas I, II, III estão incorretas As afirmativas I, II, estão corretas e a afirmativa III está errada. 9a Questão (Ref.: 201201731947) Pontos: 1,0 / 1,0 A família de padrões GoF é dividida em três grupos principais de padrões, a saber: Padrões de Proxy; Padrões de Criação; Padrões de Encadeamento 04/05/2015 BDQ Prova http://simulado.estacio.br/bdq_simulados_ead_ens_preview.asp?cript_hist=426556760 4/4 Padrões de Processo; Padrões de Singularidade; Padrões de Prototipação Padrões Comportamentais; Padrões de Criação; Padrões Estruturais Padrões de Criação; Padrões Metodológicos; Padrões de Ponte Padrões Estruturais; Padrões de Processo; Padrões de Responsabilidade 10a Questão (Ref.: 201201731977) Pontos: 0,0 / 1,0 Relacione os padrões de projetos listados abaixo com suas respectivasfinalidades: PADRÕES DE PROJETO 1. Facade (fachada) 2. Decorator (decorador) 3. Memento (lembrança) 4. Proxy (procurador) 5. Observer (observador) FINALIDADES ( ) Define uma dependência um para muitos entre objetos tal que, quando o estado de um objeto muda, todos os seus dependentes são notificados e atualizados automaticamente. ( ) Fornece uma interface unificada para um conjunto de objetos que constituem um subsistema. Define uma interface de mais alto nível que torna o subsistema mais fácil de usar. ( ) Sem violar o encapsulamento, captura e exterioriza o estado interno de um objeto, tal que o objeto possa ser restaurado a este estado mais tarde. ( ) Acrescenta responsabilidades adicionais a um objeto dinamicamente. Fornece uma alternativa flexível para a extensão de funcionalidade. ( ) Controla o acesso a um objeto através de outro objeto, que atua como seu substituto, ou como um envoltório. Assinale a alternativa que indica a sequência correta, de cima para baixo. 5 1 3 2 4 5 1 3 4 2 3 1 5 2 4 3 5 1 4 2 1 5 3 4 2
Compartilhar