Baixe o app para aproveitar ainda mais
Prévia do material em texto
1.Analise as seguintes afirmações relacionadas a padrões de projetos: I. O padrão Builder separa a construção de um objeto complexo de sua representação, de modo a que o mesmo processo de construção possa criar diferentes representações. II. O método Abstract Factory fornece uma interface para a criação de uma família de objetos relacionados ou dependentes sem especificar suas classes completas. 2. Uma das categoria que tradicionalmente se classificam os padrões de projeto: Padrões de criação cujo objetivo é: Define formas de instanciar objetos delegando responsabilidades 3. considerando a classe de projetos GoF assinalem a opção cujos padrões de projeto estão todos classificados como Comportamentais Command,- Interpreter, - Iterator, - Mediator, - Observer, State, Strategy 4. Qual padrão é de arquitetura? MVC 5A família de padrões GoF é dividida em três grupos principais de padrões, a saber: Padrões Comportamentais; Padrões de Criação; Padrões Estruturais 6O Design Patterns que tem a finalidade de usar compartilhamento para suportar grandes quantidades de objetos, de granularidade fina, de maneira eficiente, é denominado Flyweight 7. (FGV - 2008) Considere as seguintes assertivas sobre as vantagens do uso de padrões de software (software patterns): I. Padrões de projeto proporcionam um vocabulário comum de projeto, facilitando comunicação, documentação e aprendizado dos sistemas de software. II. Padrões de projeto auxiliam no desenvolvimento de software por meio da reutilização do projeto de soluções computacionais já testadas e aprovadas. III. Uma biblioteca de padrões pode ajudar a melhorar e padronizar o desenvolvimento de software. 8. (CESGRANRIO - 2010 - BACEN - Analista do Banco Central) Um arquiteto de software estuda que padrões de projeto são apropriados para o novo sistema de vendas de uma empresa. Ele deve considerar que o padrão : Chain of Responsibility evita o acoplamento entre o remetente de uma solicitação e seu destinatário, dando oportunidade para mais de um objeto tratar a solicitação. 9. Uma das categoria que tradicionalmente se classificam os padrões de projeto :Padrões Comportamentais cujo objetivo é: Define formas de gerencia e combinar diferentes comportamentos. 10.Softwares são sequencias de instruções a serem seguidas ou executadas que solucionam problemas modelados através de algoritmos com documentação associada. Quando um desenvolver projeta um software ele deseja criar um programa com um mínimo de qualidade. Com base nesse pressuposto, qual única alternativa abaixo que um dos requisitos de qualidade esperado não se enquadra para software robusto desenvolvido: Interpreter (interpretável) , Secure (confiável ) e Stable (estável) 11. Esses são padrões de projeto GoF estudados em aula, EXCETO: Workflow 12. considere a afirmativa de Gamma e Al. citada abaixo e escolha a opção correta: - Em geral, todas as arquiteturas orientadas a objeto bem-estruturadas estão cheias de padrões. Uma das maneiras de medir a qualidade de um sistema orientado a objetos é avaliar se os colaboradores tomaram bastante cuidado com as colaborações comuns entre seus objetos. Focalizar em tais mecanismos durante o desenvolvimento de um sistema pode levar a uma arquitetura menor, mais simples, muito mais compreensível do que aquelas produzidas quanto padrões são ignorados Padrões são boas práticas e proporcionam garantia de qualidade na elaboração do código 13. Para facilitar a manutenção da aplicação, há um design pattern que tem como objetivo principal centralizar o acesso aos dados em uma única camada. Esse design pattern é o DAO 14. Quanto aos design patterns, é correto afirmar que: descrevem melhores práticas, bons projetos, e captam a experiência de uma maneira possível de ser usada por outros. 15. (CESGRANRIO - 2008 - BNDES - Profissional Básico - Especialidade - Análise de Sistemas) 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? Observer 16. Um design pattern descreve uma solução geral comprovada e reutilizável para um problema recorrente no desenvolvimento de sistemas de software orientados a objetos. Padrões de projeto ajudam a reconhecer e implementar boas soluções para problemas comuns. Dois dos principais design patterns utilizados atualmente são descritos a seguir: I. Visa garantir que uma classe só tenha uma única instância e prover um ponto de acesso global a ela. II. Visa definir uma dependência um-para-muitos entre objetos para que quando um objeto mudar de estado os seus dependentes sejam notificados e atualizados automaticamente. Os design patterns descritos em I e II são, respectivamente: Singleton e Observer. 17. O Padrão de Projeto que define uma Interface para criar um objeto e também é conhecido como "Construtor Virtual" chama-se: Factory Method 18. Sobre padrões de projeto escolha a opção incorreta. Um padrão de projeto define uma estrutura que obrigatoriamente não poderá ser alterada pelo desenvolvedor 19. (FCC-2011) Os design patterns podem ser modelados utilizando-se a linguagem UML que fornece um meio eficiente de modelar pa- drões de projeto representando-os como colaborações. 20. O modelo GoF (Gang of Four) são padrões de projeto de software com 23 modelos (ou soluções) de soluções para o desenvolvimento de algoritmos baseados no paradigma orientado a objetos. Esses modelos são classificados em subcategorias com propósitos comuns. Sabendo disso, assinale apenas uma das opções abaixo que é uma afirmativa verdadeira sobre os padrões GoF: Os modelos dos padrões GoF são agrupados em três categorias, sendo-as: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais. 21. (Casa da Moeda - CESGRANRIO 2009) Em determinado sistema de análise estatística, é necessário definir uma dependência ¿um para muitos¿ entre objetos, de forma que quando um objeto mudar de estado, todos os seus dependentes sejam notificados e atualizados. Que padrão de projeto pode ser utilizado nessa situação? Observer 22. Como a adoção de um padrão de projeto pode auxiliar o desenvolvimento de software? Por meio da sugestão de melhorias nos acessos e estruturação de situações problemáticas 24. (FUMARC - 2011) São padrões de projeto GoF (design patterns), EXCETO Criador. 25. Uma das categoria que tradicionalmente se classificam os padrões de projeto :Padrões Estruturais cujo objetivo é: Define a forma de organização dos objetos e sua colaboração mutua 26. Qual dos padrões GOF abaixo é mais indicado quando necessitamos criar objetos de uma determinada classe, os quais só têm alguns poucos estados possíveis e é melhor copiá-los e aproveitar o seu estado atual do que criar um novo objeto no estado inicial. Prototype 27. Assinale a afirmativa correta sobre o padrão Builder: 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. 28. Dentre as opções apresentadas para o padrão Prototype, no que se refere, as aplicações para este padrão de projeto, assinale a única que estrá correta. facilidade de instanciar classes em tempo de execução. 29. (CESGRANRIO - 2009) Por motivo de segurança, deseja-se adicionar registro (log) das operações efetuadas no sistema de contabilidade de uma empresa. O arquiteto do sistema decide que deve existir somente uma instância de uma classe de registro (log) e que esta será o ponto de acesso global para os demais componentes do sistema. Que padrão de projeto pode ser utilizado nesse caso?Singleton. 30. A implementação do padrão de projeto PROTOTYPE é facilitada quando usada na linguagem de programação ________ com a utilização da interface Cloneable, utilizada apenas para indicar que o método Object.clone() pode realizar uma cópia, atributo por atributo, das instâncias da classe. Assinale a opção que complementa corretamente a lacuna. JAVA; 31. 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 32. 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. PROTOTYPE. 33. O padrão de projeto Singleton é um dos padrões mais conhecidos e extensivamente utilizados em programação orientada a objetos. Sobre ele podemos afirmar I - Está direcionado para as situações onde precisamos manter uma única instancia de uma classe durante toda a execução da aplicação. II - A sua estrutura é bastante simples, existe apenas uma classe chamada Singleton, que define um método chamado Instance, responsável poder retornar aos clientes à única instancia da classe. III ¿ Na linguagem Java os modificadores states e private devem garantir uma mesma instância para todos os objetos criados e evitar acesso público; As afirmativas estão todas corretas 34. Construtores em Java definem uma maneira padrão de construir objetos. No entanto, depender de construtores para instanciar objetos pode nos levar a alguns problemas dos quais podemos citar, exceto: Não é preciso saber a classe concreta do objeto para criá-lo 35. Que padrão estrutural anexa dinamicamente responsabilidades adicionais a um objeto. Provê uma alternativa flexível ao uso de herança como mecanismo de extensão de funcionalidade: Decorator 36. Qual padrão estrutural permite que um objeto utilize serviços de outros objetos com interfaces diferentes por meio de uma interface única: Adapter 37. Dentre as opções apresentadas assinale qual o padrão é bastante utilizado para compatibilizar classes implementas por programadores diferentes, ou desenvolvidas em momentos diferentes, ou ainda para unir classes com interfaces diferentes em uma estrutura hierárquica única, sem precisar implementar novamente todas as funcionalidades e interfaces da classe já existente. Padrão Adapter 38. Assinale a alternativa correspondente ao padrão de projeto utilizado para adicionar responsabilidades dinâmicas a objetos. Decorator 39. Os Padrões de Projeto (GOF) que se apresentam com o formato de uma Lista Encadeada (estrutura de dados) quando são representados por um Diagrama de Objetos (UML) e se classificam, respectivamente, como Padrão de Projeto Estrutural e Padrão de Projeto Comportamental, são conhecidos como: Decorator e Chain of Responsibility 41. Qual o nome do padrão de projeto que pode ser utilizado para permitir que uma hierarquia de abstrações e suas diferentes implementações possam variar independentemente? Bridge 42. Programadores se deparam muitas vezes com a situação onde é preciso acrescentar responsabilidades a objetos e não a classe. Uma alternativa é atribuir dinamicamente a um dado objeto. Este padrão é chamado de: Decorator. 43. [BNDES - CESGRANRIO 2009]A o consultar informações a respeito dos padrões de projeto Adapter e Bridge, um Analista de Sistemas identificou uma afirmativa INCORRETA. Assinale-a. O Adapter é inferior ao Bridge porque não evita a replicação de código. 44. Um compositor musical deseja criar uma hierarquia de classes para representar a estrutura das suas notas musicais. Em primeiro lugar, definiu uma classe abstrata chamada Melodia, a seguir, criou duas classes derivadas, uma chamada Nota e outra chamada Partitura. Cada Nota musical representa o elemento mínimo de uma Melodia e cada Partitura é formada por uma ou mais notas. Marque a alternativa que representa o melhor padrão de projeto para modelar este problema. Composite 45. Programadores se deparam muitas vezes com a situação onde é preciso acrescentar responsabilidades a objetos e não a classe. Uma das opções é utilizar herança, entretanto, esta alternativa é estática. Outra alternativa é especificar uma nova classe para implementar cada responsabilidade que se deseja atribuir dinamicamente a um dado objeto. Esta nova classe se chama _____________________________. Decorator; 46. Marque a alternativa que melhor descreve uma situação típica onde poderia ser utilizado o padrão de projeto Adapter? Um programador precisar utilizar uma classe que possui interface diferente da classe existente na aplicação. 47. O Padrão de Projeto Estrutural (GOF) que se apresenta com o formato de uma árvore (estrutura de dados) quando é representado por um Diagrama de Objetos (UML) chama-se: Composite 48. A utilização do padrão estrutural de projeto cula ideia é utilizar um substituto para o objeto real, mantendo a mesma interface do original sempre que for inconveniente, ou indesejável, acessá-lo diretamente é conhecido como: Proxy; 49. A classe Façade, em qualquer contexto, tem como objetivo mais amplo buscar respostas para um problema de forma transparente em um conjunto de subsistemas e fornecer uma resposta imediata para a classe cliente. Assinale dentre as principais vantagens desse padrão de projeto a única que não é verdadeira.: Incentivar acoplamento forte entre o subsistema e seus clientes. 51. O Padrão Flyweight é um objeto compartilhado, que pode ser usado em vários contextos, simultaneamente, pois, tem capacidade de funcionar de forma independente em cada contexto. Seus métodos e implementações não podem, em momento algum, fazer ____________ hipóteses ou asserções sobre o contexto no qual o objeto opera. 52. (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 Flyweight. 53. (CESGRANRIO - 2009) O presidente de uma empresa determinou que fosse disponibilizado um sistema de vendas na Internet. No entanto, o software de controle de estoque que deve ser acessado pela aplicação de vendas é muito antigo e provê uma API (Application Programming Interface) de uso muito complicado. Para que os desenvolvedores possam acessar uma interface mais simples, o arquiteto do sistema pode determinar o uso do padrão de projeto Façade. 54. 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 pequeno número de objetos. 55. considerando a classe de projetos GoF assinale a opção cujos padrões de projeto estão todos classificados como Estruturais: adapter ; bridge ; composite ; decorator ; faça de ; flyweight ; Proxy 56. Estruturar um sistema em subsistemas ajuda a reduzir a complexidade do problema (Gamma et al., 2000). No entanto, um objetivo comum de todos os projetos é minimizar a comunicação e as dependências entre os diferentes subsistemas. Uma das maneiras de contornar esse problema é utilizar o padrão de projeto que qual forneça uma interface única e simplificada para os recursos e facilidadesmais gerais de um subsistema. Este padrão de projeto é conhecido como Façade; 57. Que padrão estrutural provê um ponto de atendimento para que outro objeto possa controlar o acesso ao primeiro: Proxy 58. (FCC - 2011) No contexto dos padrões de projeto: I. Oferecer uma interface simples para uma coleção de classes. II. Desacoplar uma abstração de sua implementação para que ambas possam variar independentemente. Façade e Bridge. 59. Que padrão estrutural usa compartilhamento para suportar um grande número de pequenos objetos de forma eficiente Flyweight 61. A classe Façade, em qualquer contexto, tem como objetivo mais amplo buscar respostas para um problema de forma transparente em um conjunto de subsistemas e fornecer uma resposta imediata. Marque a alternativa que NÃO indica uma vantagem do padrão Façade (Fachada) Fazer com que o cliente conheça todas as regras de negócio para que possa realizar as mudanças. 62. Converter a interface de uma classe em outra interface esperada pelos clientes. Permite a comunicação entre classes que não poderiam trabalhar juntas devido à incompatibilidade de suas interfaces. Para qual padrão de projeto a afirmação se relaciona? Nra 63. Marque a única alternativa correta sobre um cenário de aplicação do padrão de projeto Template Method Implementamos partes invariantes de um algoritmo em uma classe abstrata e deixamos que o restante do código seja implementado nas subclasses 63. São exemplos de Padrões de Projeto Comportamentais: Interpreter, Chain of Responsibility e Observer 63. Aponte dentre as opções abaixo aquela que corresponde ao padrão que apresenta como uma desvantagens, a obrigatoriedade da definição de ao menos, uma classe para cada regra da gramática, logo, gramáticas com muitas regras são difíceis de manter e administrar. Interpreter; 63. Dentre as opções apresentadas, assinale aquela que corresponde ao padrão de projeto que sugere a implementação de um algoritmo que faz uso de diferentes métodos, diferenciando das soluções convencionais por deixar o esqueleto deste algoritmo fixo em uma superclasse abstrata Template Method 63. A classe Handler é uma classe abstrata, portanto, não pode ser instanciada diretamente. Assim, para montar uma cadeia de objetos é necessário especializá-la em que tipo de classes? Assinale dentre as opções abaixo aquela que está correta. concretas; 63. (CESGRANRIO - 2010) Um dos participantes da equipe de desenvolvimento de um framework deve implementar uma operação em uma das classes desse framework. Seja X o nome dessa classe. Essa operação implementa um algoritmo em particular. Entretanto, há passos desse algoritmo que devem ser implementados pelos usuários do framework através da definição de uma subclasse de X. Sendo assim, qual o padrão de projeto do catálogo GoF (Gang of Four) a ser usado pelo desenvolvedor do framework na implementação da referida operação, dentre os listados a seguir? Template Method. 63. 63. 63. 63. 63. 63. 63. 63. 63.
Compartilhar