Baixe o app para aproveitar ainda mais
Prévia do material em texto
Coletânea de Exercícios – Padrões de Projetos de Sofware – 2016-01 1 - Prover uma interface para criar famílias de objetos relacionados ou dependentes sem especificar suas classes concretas." . Para qual padrão de projeto a afirmação se relaciona? a) Nra b) Abstract Factory c) Proxy d) Singleton e) Prototype 2 - 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 a) Padrões causam falta de criatividade nos desenvolvedores e esta perda compromete a qualidade b) Padrões são de uso obrigatório e eliminam os erros cometidos na fase programação. c) Padrões é uma forma obrigatória de programar com objetos d) Padroes sempre levam a uma arquitetura menor principalmente quando se usa tecnologia de objetos e) Padrões são boas práticas e proporcionam garantia de qualidade na elaboração do código 3 - Qual padrão é de arquitetura? a) GRASP b) GoF c) Gamma d) MVC e) Flower 4 - O Padrão de Projeto que define uma Interface para criar um objeto e também é conhecido como "Construtor Virtual" chama-se: a) Business Delegate b) Template Method c) Abstract Factory d) Factory Method e) Dependency Injection 5 - Dentre as alternativas abaixo identifique a que NÃO define uma situação em que deve ser utilizado o padrão Factory Method? a) Quando classes delegam responsabilidade para uma entre várias subclasses de apoio. b) Quando uma classe quer que suas subclasses especifiquem os objetos criados. c) Quando se quer localizar num ponto único a conhecimento de qual subclasse está sendo usada. d) Quando uma classe (o criador) não pode antecipar a classe dos objetos que deve criar. e) Quando o algoritmo de criação de um objeto deve ser independente das suas partes constituintes e da maneira como ele é "montado". 6 - 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.” a) Padrões são de uso obrigatório e eliminam os erros cometidos na fase programação. b) Padrões são boas práticas e proporcionam garantia de qualidade na elaboração do código. c) Padrões sempre levam a uma arquitetura menor principalmente quando se usa tecnologia de objetos d) Padrões é uma forma obrigatória de programar com objetos e) Padrões causam falta de criatividade nos desenvolvedores e esta perda compromete a qualidade. 7 - (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? a) Prototype. b) Command. c) Factory Method. d) Builder. e) Abstract Factory. 8 - “Os padrões de criação abstraem o processo de instanciação. Um padrão de criação de classe usa a herança para variar a classe que é instanciada, enquanto que um padrão de criação de objeto delegará a instanciação para outro objeto.” Padrões Projeto, 1º edição/2000.Gamma. Segundo Metsker, 2004, o padrão de projeto _____________________ tem como solução mover a lógica de construção de uma classe para um objeto externo, a fim de reduzir a complexidade da mesma e permitir a construção gradual de objetos-alvo a partir dessa classe. Escolha uma das alternativas abaixo que preenche corretamente a lacuna apresentada na descrição acima. a) Builder b) Factory Method c) Singleton d) Facade e) Abstract Factory 9 - 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. a) SINGLETON. b) FACADE. c) MEDIATOR. d) BUILDER. e) FACTORY METHOD. 10 - 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. a) FACTORY METHOD. b) PROTOTYPE. c) MEDIATOR. d) BUILDER. e) SINGLETON. 11 - 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. a) facilidade de instanciar classes em tempo de programação; b) facilidade de copiar classes em tempo de execução. c) facilidade de instanciar classes em tempo de geração do SGDB d) facilidade de eliminar classes em tempo de execução; e) facilidade de instanciar classes em tempo de execução. 12 - Assinale dentre as opções abaixo, qual o padrão de projeto mais conhecidos e extensivamente utilizados em programação orientada a objetos e que está direcionado para as situações onde é preciso manter uma única instancia de uma classe durante toda a execução da aplicação. a) Composite; b) Decorator; c) Singleton d) Prototipe: e) Builder; 13 - (MPE/BA FESMIP/BA 2011) O Design Pattern que tem a finalidade de usar compartilhamento para suportar grandes quantidades de objetos, de granularidade fina, de maneira eficiente, é denominado a) Strategy b) Builder c) State d) Composite e) Flyweight 14 - Marque a alternativa que melhor descreve uma situação típica onde poderia ser utilizado o padrão de projeto Adapter? a) Um programador precisar utilizar uma classe que possui interface diferente da classe existente na aplicação. b) Um programador precisa ser avisado quando houver alterações no estado de um objeto. c) Um programador precisa de uma classe que possua um método para retornar a única instância existente da classe. d) Um programador precisa de um método que simplifique o acesso a uma hierarquia de classes.e) Um programador precisa utilizar uma classe que possui a mesma interface da classe existente na aplicação. 15 - 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: a) Decorator e Chain of Responsibility b) Observer e Chain of Responsibility c) Decorator e Observer d) Chain of Responsibility e Decorator e) Observer e Decorator 16 - 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. a) Proxy b) Composite c) Bridge d) Façade e) Adapter 17 - 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 _____________________________. a) Decorator; b) Composite; c) Beidge; d) Adapter; e) Associativa; 18 - Qual padrão estrutural permite que um objeto utilize serviços de outros objetos com interfaces diferentes por meio de uma interface única: a) Adapter b) Facade c) Flyweight d) Bridge e) Composite 19 - 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 _____________________________________________________________ a) Acoplamento fraco entre o subsistema e seus clientes. b) hipóteses ou asserções sobre o contexto no qual o objeto opera. c) hipóteses ou exclusões sobre o contexto no qual o objeto opera. d) hipóteses ou asserções sobre fora do contexto no qual o objeto opera. e) comparações ou associações sobre o contexto no qual o objeto opera. 20 - 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). a) Incentivar acoplamento fraco entre o subsistema e seus clientes. b) Simplificar o acesso a determinadas funcionalidades de um subsistema, sem inviabilizar sua utilização direta. c) Ajudar a melhorar portabilidade dos sistemas. d) Fazer com que o cliente conheça todas as regras de negócio para que possa realizar as mudanças. e) Tornar os clientes independentes da complexidade dos diferentes subsistemas de uma aplicação. 21 - Em muitas situações de programação, é possível resolver o problema de acesso a um determinado objeto com a utilização de uma referência a variável desejada, este é um mecanismo de simples utilização e bastante conhecido pelos desenvolvedores de software. No entanto, quando é necessário utilizar um mecanismo mais versátil e sofisticado, por exemplo, - para postergar a instanciação de um objeto - para controlar o acesso ao mesmo - para acessá-lo em uma máquina remota - para gravá-lo em uma base de dados, a alternativa de utilizar uma referência ao objeto não é mais apropriada. - utilização de uma superclasse abstrata para definir a interface da classe desejada e uma classe derivada adicional derivada. Marque a alternativa que indica o padrão de projeto utilizado segundo a descrição acima. a) Proxy b) Flyweight c) Coesão d) Acoplamento e) Façade 22 - Que padrão estrutural usa compartilhamento para suportar um grande número de pequenos objetos de forma eficiente. a) Bridge b) Composite c) Decorator d) Facade e) Flyweight 23 - 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 a) Uma aplicação utiliza um grande número de objetos. b) Muitos grupos de objetos podem ser substituídos por relativamente poucos objetos compartilhados, uma vez que estados extrínsecos são removidos. c) A aplicação não depende da identidade do objeto. d) Uma aplicação utiliza um pequeno número de objetos. e) Os custos de armazenamento são altos por causa da grande quantidade de objetos. 24 - (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 a) Builder. b) Strategy. c) Composite. d) Flyweight. e) State. 25 - Analise as sentenças abaixo. I - A estrutura do padrão interpreter sugere que a modelagem do problema seja realizada através de uma gramática procedural. II - O padrão Interpreter tem como desvantagem definir uma classe para cada gramática, pois quando se tem muitas gramáticas, são difíceis de manter e administrar. III - No padrão de projeto Template Method as partes que podem variar, conforme a situação, contexto ou problema a ser resolvido, são redefinas nas classes derivadas (concretas). IV - O padrão de projeto Template Method sugere a implementação de um algoritmo fixo em uma superclasse abstrata onde se consegue alterar o comportamento do algoritmo, sem modificar sua estrutura lógica. Marque a opção correta. a) I - II - III b) II - III - IV c) I - II – IV d) III - IV e) I - III - IV 26 - Para fazer a modelagem de um padrão de projeto (design pattern) utilizando a UML é DESNECESSÁRIO. a) entender o padrão de projeto como uma colaboração representada com suas partes estruturais e comportamentais. b) identificar as soluções específicas e particulares para o problema básico e reificá-la como um mecanismo. c) fazer a modelagem do mecanismo como uma colaboração, fornecendo seus aspectos estruturais, assim como os aspectos comportamentais. d) identificar as soluções comuns para o problema básico. e) 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. 27 - Marque a única alternativa correta sobre um cenário de aplicação do padrão de projeto Template Method a) Garantimos que não será possível instanciar mais do que 1(uma) instância de uma determinada classe b) Armazenamos o estado interno de um objeto para permitir a implementação da operação de desfazer (undo) c) Implementamos partes invariantes de um algoritmo em uma classe abstrata e deixamos que o restante do código seja implementado nas subclasses d) Permitimos, em tempo de execução, que sejam adicionadas novas operações sobre uma estrutura de dados e) Possibilitamos a comunicação entre interfaces incompatíveis 28 - (PETROBRAS - 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 subclassede 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? a) Interpreter. b) Decorator. c) Template Method. d) Observer. e) Singleton. 29 - A implementação do padrão de projeto Chain of Responsability requer que cada objeto receptor de uma determinada solicitação tenha uma lógica para descrever os tipos de solicitação que é capaz de processar e como passar adiante aquelas que requeiram processamento por outros receptores. A delegação das solicitações pode formar uma árvore de recursão, com um mecanismo especial para inserção de novos receptores no final da cadeia existente. Marque a alternativa que NÃO identifica uma vantagem do padrão de projeto Chain of Responsability. a) Remetente e receptor não têm conhecimento explícito um do outro. b) Reduz a interconexão entre os objetos, ao invés de um objeto manter uma lista com todos os receptores candidatos, eles mantém uma referência única para o sucessor; c) Padrão libera um objeto de ter que conhecer qual o outro objeto que trata de uma solicitação. d) Flexibilidade na atribuição de responsabilidades, ou seja, pode-se mudar a cadeia de objetos em tempo de execução, adicionando ou removendo objetos. e) As partes invariantes, conforme a situação, contexto ou problema a ser resolvido, podem ser redefinidas em classes abstratas gerando interconexão entre os objetos. 30 - 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. a) Generalizada; b) alto acoplamento; c) concretas; d) baixa coesão. e) com método púbico; 31 - Existe um padrão de projeto que é bastante utilizado em programação de sistema para gerenciar a comunicação entre dois ou mais objetos. Ele pode ser visto como uma classe intermediária de comunicação e gerenciamento, evitando que os objetos se comuniquem de forma direta. Dentre as opções abaixo assinale aquela que está correta para a colocação acima. a) Padrão Mediator; b) Padrão Memento c) Padrão Proxy; d) Command; e) Padrão Interator; 32 - O padrão de projeto Comand apresenta uma serie aplicabilidades. Assinale dentre as opções abaixo a unica que não esta correta. permitir fácil inclusão de novos comandos,permitir isições concorrentes, manter histórico de execução de comandos, suportar operações para desfazer comandos e, principalmente, evitar o acoplamento direto entre classes e serviços. permitir tratamento de requ a) Manter histórico de execução de comandos; b) permitir tratamento de requisições concorrentes; c) Evitar o acoplamento direto entre classes e serviços; d) permitir fácil inclusão de novos comandos e) Permitir em casos excepcionais o acoplamento direto entre classes e serviços; 33 - Considere a seguinte definição: "Define um objeto que encapsula o modo como um conjunto de objetos interage. Promove um acoplamento fraco entre objetos, evitando que referenciem diretamente um ao outro e permitindo que se possa variar a interação entre eles de modo independente.(Gamma et al., 2000)" Marque a alternativa que indica o nome do padrão relacionado: a) Observer b) Mediator c) Singleton d) Prototype e) Strategy 34 - Assinale dentre as opções abaixo aquela que corresponde ao objetivo do padrão de projeto Command. a) disponibilizar o acesso aos aobjetos b) encapsular chamadas dos objetos; c) disponibilizar chamadas de métodos. d) encapsular chamadas de métodos. e) Disponibilizar o uso do método private. 35 - A implementação do padrão Memento é bastante simples. Normalmente é criada uma classe privada chamada Memento (ou outro nome com funcionalidades similar) dentro da classe que se pretende salvar o estado. A classe Memento deve ser instanciada com os atributos que se pretende salvar, fornecendo para tanto -------------- ---------- Marque dentre as opções abaixo aquela que complementa a lacuna acima de forma correta. a) um construtor público para este fim. b) Uma classe com método publico para este fim; c) Utilizar um outro padrão comportamental que complemente o objetivo. d) Utilizar uma classe associativa para o fim desejado. e) Um construtor privado para este fim. 36 - O problema de acessar elementos de coleções, matrizes ou estruturas de dados encadeados é bastante recorrente em programação. Assinale dentre as alternativas abaixo,aquela que oferece uma forma de percorrer este tipo de objeto agregado, sem conhecer seus detalhes de implementação. a) Padrão Iterator; b) Padrão Mediator; c) Padrão Memento; d) Padrão Visitor; e) Padrão Proxy; 37 - O padrão de projeto State deve ser implementado não somente quando o comportamento de um objeto depende do seu estado, mas também quando a funcionalidade de um objeto possui _______________; Complete a lacuna com a opção correta. . a) padrão bridge; b) Atributos valorados; c) agreagações; d) padrão visitor; e) condicionais grandes; 38 - Qual dos padrões de projeto abaixo é mais apropriada para uso na seguinte situação: a mudança no estado de um objeto exige mudanças em outros e você não sabe quantos objetos precisam ser mudados? a) Strategy b) Memento c) Visitor d) State e) Observer 39 - Marque a alternativa que está relacionada com o padrão de projeto que pode ser utilizado para configurar uma classe com um dentre muitos comportamentos disponíveis. a) Strategy b) Visitor c) Memento d) Observer e) State 40 - Considere a definição: O padrão Strategy define uma família de algoritmos , encapsula cada um deles , e torna-os intercambiáveis, permitindo assim que os algoritmos variem independentemente dos clientes que os utilizam (Gamma et al., 2000). Qual das alternativas é completamente verdadeira? a) O principal objetivo do padrão acima é conservar as funcionalidades em não se permita adicionar novas, E obriga que haja necessidade de alterar sua implementação b) O padrão de projeto acima deve ser utilizado não somente quando o comportamento de um objeto depende do seu estado, podendo ser alterado em tempo de execução, mas também quando a funcionalidade de um objeto possui condicionais grandes. c) A idéia principal do padrão acima é implementar diferentes algoritmos em uma hierarquia de classes, onde cada um deles pode ser substituído por outro, independente do cliente que o utiliza. d) O principal objetivo do padrão acima é permitir que sejam adicionadas novas funcionalidades a classes previamente concebidas, sem que haja necessidade de alterar sua implementação. e) O padrão de projeto acima é indicado para ser utilizado quando uma abstração tem dois aspectos, um dependente do outro. Encapsular tais aspectos em objetos separados permite que variem e sejam reusados separadamente; 41 - O principal objetivo do Padrão Visitor é: a) Criar um acoplamento forte entre os objetos, tendo em vista que um objeto deve ser capaz de avisar outros fazendo suposições sobre quem são os objetos. b) Permitir que sejam adicionadas novas funcionalidades a classes previamente concebidas, sem que haja necessidade de alterar sua implementação. c) Fornecer um guia de como instanciar objetos e classes. d) Criar uma maneira de separar um algoritmo genérico da estrutura de um objeto. e) Quando uma abstração tem dois aspectos, um independente do outro, de impedir o encapsulamento de tais aspectos em objetos separados. 42 - (COPEVE-UFAL - 2011) O diagrama de classes apresentado na figura não representa fielmente um buffer que passa por estados sucessivos de transformação. Em outras palavras,um buffer, que está inicialmente vazio, depois pode ficar parcialmente cheio e, possivelmente, pode ficar cheio. Dentre as opções apresentadas a seguir, qual o padrão de projetos que melhor se adequaria para modelar essa característica dinâmica do buffer? a) Singleton. b) Mediator. c) Composite. d) State. e) Dynamic behavior. 43 - Marque a alternativa que está relacionada ao padrão de projeto que é responsável por selecionar quais responsabilidades devem estar em quais classes. a) State b) Especialista da informação c) Observador d) Criador e) Acoplamento fraco 44 - Uma classe com acoplamento forte depende muito de outras classes. Isso pode conduzir os seguintes problemas num sistema: I. As classes são difíceis de aproveitar tendo em vista que sempre que uma classe for utilizada todas as outras das quais ela depende devem estar presentes; II. As alterações nas classes relacionadas podem forçar mudanças locais difíceis de compreender isoladamente. III. Facilidade na compreensão nas mudanças das classes no sistema. IV. Ao fazer alguma mudança numa classe também devem ser feitas mudanças nas outras que estão ligadas a esta classe. Com base nestas informações assinale a alternativa CORRETA. a) II, III,IV b) I, II, III c) Nenhuma d) I,II, IV e) I III, IV 45 - Qual das afirmativas abaixo não é verdadeira. a) O ideal que dois artefatos tenham alta dependência. Isto garante um bom desempenho e facilita a manutenção dos artefatos. b) Um acoplamento definido para que classes que contenham métodos que possibilitem alterações de requisitos deve ser a menor possível, desta forma se favorece futuras manutenções. c) Dessa forma o padrão Acoplamento Baixo é utilizado para atribuir responsabilidades de modo que o acoplamento permaneça baixo. d) Um alto acoplamento aumenta a dificuldade de entendimento da solução proposta, a diminuição das chances de reutilização, além de aumentar a complexidade da aplicação. e) acoplamento é o grau de dependência entre dois artefatos. É uma medida de quão forte um elemento está conectado ou tem conhecimento de, ou depende de outros elementos. 46 - (FUMARC - 2011) São padrões de projeto GoF (design patterns), EXCETO: a) Criador. b) Facade. c) Visitor. d) Adapter. e) Strategy. 47 - Pode-se sucintamente definir o padrão Variation do GRASP como: a) Criar classes controladoras. b) Criar classe que resolva problemas de inconsistência, criando adaptações para saná-las. c) Criar camadas para melhor organizar a aplicação. d) Criar classes altamente coesas. e) Criar classes que permitam sobrecarga e sobreescrita. 48 - Dado o diagrama de sequência especifique o padrão GRASP utilizado: a) Information Expert b) Decorator c) Flyweight d) Proxy e) Facade 49 - Considere a figura abaixo E escolha a opção correta sobre a gravura: a) uma classe de controle exige que sempre se tem há uma classe de apresentação. Desta forma não podemos ter mais de uma classe de controle por sistema b) A Classe instanciada assinalada como :???? Deveria estar incorporada na classe emprestar para evitar criar uma serie de novas classes. Isto facilita o projeto. c) A classe instanciada assinalada como :???? Permite desacoplar as classes e métodos de apresentação. E isto aumenta a reutilização das classes de negocio. d) A Classe instanciada assinalada como :???? Não pode ser decomposta em outros controladores. Assim temos que trabalhar com o tipo de coesão resultante (temporal, funcional...) e) A Classe instanciada assinala como :???? É de baixo acoplamento e baixa coesão pela natureza de sua criação. 50 - Marque a alternativa que está relacionada ao padrão GRASP responsável manter os objetos focados, com funcionalidades específicas, intelegíveis e gerenciáveis? a) Especialista da informação b) Baixo acoplamento c) Coesão alta d) Controlador e) Criador 51 - Marque a alternativa que apresenta apenas padrões GRASP? a) Coesão alta, controlador, strategy b) Coesão alta, controlador e polimorfismo c) Controlador, polimorfismo e Memento d) Observer, visitor, strategy e) Coesão alta, polimorfismo, visitor 52 - Qual padrão GRASP tem como um de seus objetivos minimizar o impacto na camada de negócio referente às alterações nos requisitos da interface com o usuário? a) Indireção b) Controlador c) Especialista da Informação d) Alta Coesão e) Mediador 53 - O Paradigma Orientado a Objetos com os padrões de responsabilidades GRASP definem que a melhor técnica de programação POO é: a) Desenvolver as classes com a maior coesão e maior acoplamento possível. b) Desenvolver as classes com a menor coesão e maior acoplamento possível. c) Desenvolver as classes com a maior coesão e menor acoplamento possível. d) Desenvolver as classes com a menor coesão e menor acoplamento possível. e) Desenvolver as classes sem coesão e com acoplamento. 54 - Marque a alternativa que está relacionada com o padrão GRASP utilizado para conectar a camada de interface com o usuário e a camada de negócios da aplicação? a) Especialista da informação b) Controlador c) Polimorfismo d) Baixo acoplamento e) Coesão alta 55 - Marque dentre as opções apresentadas aquela que corresponde ao padrão de projeto que sugere atribuir um conjunto de responsabilidades altamente coesas a uma classe artificial, ou de conveniência, que não represente o domínio do problema, algo inventado, para apoiar coesão alta, acoplamento baixo e reuso. a) Invenção pura; b) Criador c) Proxy; d) Indireção; e) Variações protegidas; 56 - O objetivo do padrão de projeto Indireção é atribuir responsabilidade a um objeto intermediário para servir como mediador entre outros componentes ou serviços, com o objetivo de? a) impedir que que eles não sejam diretamente acoplados; b) impedir que que eles sejam parcialmente acoplados c) impedir que que eles sejam indiretamente acoplados; d) impedir que que eles não sejam diretamente excluídos; e) permitir que que eles sejam diretamente acoplados; 57 - Dentre as opções abaixo assinale aquela que não se constitui em um benefícios da aplicação do padrão variações protegidas. a) as extensões para novas variações são difiíceis de adicionar, b) as extensões para novas variações são fáceis de adicionar, c) o impacto ou custo das modificações pode ser diminuído. d) o acoplamento fica mais baixo; e) novas implementações são introduzidas sem afetar o cliente, 58 - Dentre as opções abaixo, assinale aquela que sugere onde uma aplicação do padrão de projeto Invenção Pura deve criar uma nova classe específica para salvar objetos. a) em em um banco de dados relacional. b) em um banco de dados homogêneo; c) em em um banco de dados hierárquico; d) em um banco de dados ordenado; e) em um banco de dados integrado; 59 - O padrão Indireção tem como característica: a) implica que um componente ou classe encapsule somente os atributos e operações muito relacionadas a si e com a classe do componente ou classe propriamente dito. b) O objetivo é atribuir responsabilidade a um objeto intermediário para servir como mediador entre outros componentes ou serviços, para que eles não sejam diretamente acoplados. c) Sugere atribuir um conjunto de responsabilidades altamente coesa a uma classe artificial ou de conveniência que não represente o domínio do problema, algo inventado, para apoiar coesão alta, acoplamento baixo e reuso. d) é o primeiro objeto além da camada de interface com o usuário que é responsável por receber ou tratar uma mensagem de operação do sistema. e) É um principio básico para fornecer flexibilidade e proteção contra diversos tipos de variações em um projeto orientadoa objetos, tais como: variações nos dados, comportamento, hardware, componentes de software, sistemas operacionais, entre outros. 60 - O padrão Variações protegidas tem como característica: a) é o primeiro objeto além da camada de interface com o usuário que é responsável por receber ou tratar uma mensagem de operação do sistema. b) Sugere atribuir um conjunto de responsabilidades altamente coesa a uma classe artificial ou de conveniência que não represente o domínio do problema, algo inventado, para apoiar coesão alta, acoplamento baixo e reuso. c) implica que um componente ou classe encapsule somente os atributos e operações muito relacionadas a si e com a classe do componente ou classe propriamente dito. d) O objetivo é atribuir responsabilidade a um objeto intermediário para servir como mediador entre outros componentes ou serviços, para que eles não sejam diretamente acoplados. e) É um principio básico para fornecer flexibilidade e proteção contra diversos tipos de variações em um projeto orientado a objetos, tais como: variações nos dados, comportamento, hardware, componentes de software, sistemas operacionais, entre outros. 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: a) Interpreter (interpretável) , Secure (confiável ) e Stable (estável) b) Safe (seguro), Maintenance (manutenção) e Optimized (otimizado) c) Safe (seguro), Secure (confiável ) e Stable (estável) d) Maintenance (manutenção), Fault tolerance (tolerante a falhas) e Stable (estável) e) Maintenance (manutenção), Fault tolerance (tolerante a falhas), Secure (confiável ) e Stable (estável) O Design Patterns que tem a finalidade de usar compartilhamento para suportar grandes quantidades de objetos, de granularidade fina, de maneira eficiente, é denominado a) State b) Flyweight c) Strategy d) Builder e) Composite 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. a) PROTOTYPE. b) BUILDER. c) MEDIATOR. d) SINGLETON. e) FACTORY METHOD. Código de referência da questão.4a Questão (Ref.: 201402752788) Pontos: 1,0 / 1,0 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. a) Builder b) Abstract Factory c) Singleton d) Prototype e) Decorator [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. a) O Bridge estabelece uma ponte entre uma abstração e suas possíveis implementações. b) Ambos são padrões estruturais que possuem alguns atributos em comum. c) O foco do Adapter é a solução de incompatibilidades entre duas interfaces existentes. d) O Adapter é inferior ao Bridge porque não evita a replicação de código. e) Ambos promovem a flexibilidade ao fornecer um nível de endereçamento indireto para outro objeto. (CESGRANRIO - 2009) Ao consultar informações a respeito dos padrões de projeto Adapter e Bridge, um Analista de Sistemas identificou uma afirmativa INCORRETA. Assinale-a. a) O Bridge estabelece uma ponte entre uma abstração e suas possíveis implementações. b) O foco do Adapter é a solução de incompatibilidades entre duas interfaces existentes. c) Ambos promovem a flexibilidade ao fornecer um nível de endereçamento indireto para outro objeto. d) Ambos são padrões estruturais que possuem alguns atributos em comum. e) O Adapter é inferior ao Bridge porque não evita a replicação de código. (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 a) State. b) Flyweight. c) Strategy. d) Builder. e) Composite. 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: a) Composite. b) Decorator; c) Flyweight d) Proxy; e) Façade; Baseando-se nas necessidades apresentadas do lado direito do quadro abaixo, relacione-as ao padrão adequado a utilização e, em seguida marque a alternativa que corresponde a sequencia numerada correspondente. a) 3 - 4 - 1 - 2 b) 2 - 3 - 4 - 1 c) 4 - 2 - 1 - 3 d) 4 - 1 - 2 - 3 e) 4 - 3 - 1 - 2 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. a) concretas; b) alto acoplamento; c) baixa coesão. d) Generalizada; e) com método púbico (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? a) Memento b) JSON c) Singleton d) AJAX e) Observer Analise as afirmativas abaixo: I. A ideia principal que é atribuída no conceito de Padrões de Projeto de Software é a "reutilização de ideias (soluções consolidadas)... Não necessariamente de códigos...". II. A utilização padrões de projeto de software em um projeto de desenvolvimento de programas implica na reutilização de códigos prontos feitos por outros desenvolvedores (da empresa ou externos) com finalidade de agilizar o processo de conclusão do software. III. Um projeto de desenvolvimento de software que segue padrões de projeto não necessita documentar aspectos recorrentes do desenvolvimento do software. IV. O MVC (model-view-controller), GoF (Gang of Four) e GRASP (General Responsibility Assignment Software Patterns) são exemplos de padrões de projeto de software. E assinale a única opção VERDADEIRA acerca das afirmativas acima. a) as afirmações II e III são verdadeiras. b) as afirmações I e IV são verdadeiras. c) todas as afirmações são verdadeiras. d) as afirmações I, III e IV são verdadeiras. e) todas as afirmações são falsas. 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. a) ASSENBLY; b) HTML; c) C ++; d) JAVA; e) Qualquer linguagem orientada a objeto. 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 modeloabaixo e em seguida marque a alternativa que define a representação. a) FACADE. b) BUILDER. c) MEDIATOR. d) FACTORY METHOD. e) SINGLETON. 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: a) Memento b) TreeView c) Composite d) Decorator e) Bridge 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? a) Façade b) Adapter c) Bridge d) Flyweight e) Proxy Em muitas situações de programação, é possível resolver o problema de acesso a um determinado objeto com a utilização de uma referência a variável desejada, este é um mecanismo de simples utilização e bastante conhecido pelos desenvolvedores de software. No entanto, quando é necessário utilizar um mecanismo mais versátil e sofisticado, por exemplo, - para postergar a instanciação de um objeto - para controlar o acesso ao mesmo - para acessá-lo em uma máquina remota - para gravá-lo em uma base de dados, a alternativa de utilizar uma referência ao objeto não é mais apropriada. - utilização de uma superclasse abstrata para definir a interface da classe desejada e uma classe derivada adicional derivada. Marque a alternativa que indica o padrão de projeto utilizado segundo a descrição acima. a) Façade b) Coesão c) Acoplamento d) Proxy e) Flyweight (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 a) State. b) Composite. c) Strategy. d) Builder. e) Flyweight. 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. a) Generalizada; b) concretas; c) baixa coesão. d) alto acoplamento; e) com método púbico; São exemplos de Padrões de Projeto Comportamentais: a) Singleton, Mediator e Strategy b) Command, Composite e Memento c) Mediator, Strategy e Builder d) Interpreter, Chain of Responsibility e Observer e) State, Flyweight e Decorator Quanto aos design patterns, é correto afirmar que: a) a UML pode ser utilizada para representar frameworks, mas não é tão ampla ao ponto de oferecer suporte à representação dos design patterns. b) são conjuntos de classes abstratas e concretas que podem ser adaptadas e ampliadas para criar sistemas de aplicações. c) são projetos concretos que incluem detalhes de implementação. d) descrevem melhores práticas, bons projetos, e captam a experiência de uma maneira possível de ser usada por outros. e) o maior problema com a utilização dos design patterns é que eles não suportam o uso de ferramentas CASE e podem trazer erros provenientes da percepção de quem os criou. Em padrão de projeto existe uma situação onde uma classe chama um método abstrato especificado em alguma classe abstrata (ou interface) e a subclasse concreta vai decidir que tipo exato de objeto criar e retornar. Baseado nessa descrição marque a alternativa que aponta o padrão relacionado. a) Builder. b) Factory Method. c) Facade. d) Singleton. e) Mediator 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 está correta. a) facilidade de instanciar classes em tempo de execução. b) facilidade de copiar classes em tempo de execução. c) facilidade de eliminar classes em tempo de execução; d) facilidade de instanciar classes em tempo de programação; e) facilidade de instanciar classes em tempo de geração do SGDB 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. a) Builder b) Abstract Factory c) Prototype d) Singleton e) Decorator O padrão Adpater é bastante utilizado para compatibilizar classes implementas por programadores diferentes, ou desenvolvidas em momentos diferentes, ou ainda para unir classes com interfaces diferentes em uma estrututura hierarquica única, sem precisar implementar novamente todas as funcionalidades e interfaces da classe já existente, considere as afirmativas: I - A idéia é criar uma nova classe (Adapter) com a interface padrão que se deseja para fazer a conexão com a classe já existente (Adaptee) com interface diferente da estrutura de classes que se pretende utilizar no sistema. Ii - Além de reaproveitar totalmente a classe antiga sem precisar alterar o código e entender a complexa implementação realizada, mantém a uniformidade do seu projeto original. Iii cria uma hierarquia de classes diferentes categorias de objetos sem relação de herança. a) As afirmativas II, III estão corretas e a afirmativa I está errada. b) As afirmativas estão todas corretas c) As afirmativas I, II, estão corretas e a afirmativa III está errada. d) As afirmativas I, III, estão corretas e II errada e) As afirmativas I, II, III estão incorretas Código de referência da questão.6a Questão (Ref.: 201402750878) Pontos: 1,0 / 1,0 Assinale a alternativa correspondente ao padrão de projeto utilizado para adicionar responsabilidades dinâmicas a objetos. a) Composite b) Adapter c) Façade d) Bridge e) Decorator (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. Correspondem respectivamente a a) Façade e Bridge. b) Adapter e Façade. c) Composite e Bridge. d) Bridge e Adapter. e) Façade e Composite. O objetivo do padrão Flyweight é diminuir o consumo de memória, porém deve ser utilizado com cautela; Gamma et al (2000). São várias as recomendações para seu uso. Analise as alternativas abaixo e marque a alternativa que NÃO se refere a uma recomendação para uso do padrão Flyweight. a) Os custos de armazenamento são altos por causa da grande quantidade de objetos. b) O cliente não precisar conhecer as regras do negócio. c) Uma aplicação utiliza um grande número de objetos. d) A aplicação não depende da identidade do objeto. e) Muitos grupos de objetos podem ser substituídos por relativamente poucos objetos compartilhados, uma vez que estados extrínsecos são removidos. 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. a) Chain of Responsability, b) Flyweight c) Interpreter; d) Template Method e) Proxy; Para fazer a modelagem de um padrão de projeto (design pattern) utilizando a UML é DESNECESSÁRIO. a) entender o padrão de projeto como uma colaboração representada com suas partes estruturais e comportamentais. b) 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. c) identificar as soluções específicas e particulares para o problema básico e reificá-la como um mecanismo. d) fazer a modelagem do mecanismo como uma colaboração, fornecendo seus aspectos estruturais, assim como os aspectos comportamentais. e) identificar as soluções comuns para o problema básico
Compartilhar