Baixe o app para aproveitar ainda mais
Prévia do material em texto
Disc.: PADRÕES DE PROJETO DE SOFTWARE Acertos: 9,0 de 10,0 31/10/2021 1a Questão Acerto: 1,0 / 1,0 (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 Abstract Factory Decorator Adapter Composite 2a Questão Acerto: 1,0 / 1,0 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. PROTOTYPE. FACTORY METHOD. BUILDER. MEDIATOR. SINGLETON. Explicação: Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais: Os padrões de criação GoF contemplam 5 (cinco) tipos de padrões: Abstract Factory, Builder, Factory Method, Prototype e Singleton. Os Padrões de Criação fornecem um guia de como instanciar objetos. Esta ação normalmente envolve decisões dinâmicas para escolher, por exemplo, qual classe instanciar ou a quais objetos delegar responsabilidade. Esse padrão nos mostra como estruturar e encapsular essas decisões O padrão Prototype por definição ¿Especifica os tipos de objetos a serem criados usando uma instância como protótipo e criar novos objetos ao copiar este protótipo¿. Declara um método chamado clone na superclasse abstrata do modelo (Prototype). 3a Questão Acerto: 1,0 / 1,0 (2016 - COPEVE-UFAL) Na hierarquia dos componentes visuais da biblioteca Java AWT (do inglês, Abstract Window Toolkit), há containers e componentes. Containers, tais como os representados pelas classes Frame, Panel, Dialog e Applet agregam outros componentes, tais como os representados pelas classes Button e Label. Um container pode também conter sub-containers. Logo, um container pode conter containers ou componentes. Qual o padrão de projeto que representa a estrutura de relacionamento entre as classes AWT? Composite Chain of Responsability Observer Decorator Strategy Explicação: Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite, Decorator, Façade, Flyweight e Proxy. Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e colaboração mutua. O padrão Composite compõem objetos em estruturas de árvore para representar hierarquias todo-parte. Composite permite que clientes tratem objetos individuais e composições de objetos de maneira uniforme. 4a Questão Acerto: 1,0 / 1,0 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 facilidades mais gerais de um subsistema. Este padrão de projeto é conhecido como: Façade; Proxy; Flyweight Composite; Decorator Gabarito Comentado 5a Questão Acerto: 1,0 / 1,0 https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=271119101&cod_prova=4955173203&f_cod_disc=CCT0763 https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=271119101&cod_prova=4955173203&f_cod_disc=CCT0763 (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 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? Decorator. Singleton. Observer. Template Method. Interpreter. 6a Questão Acerto: 1,0 / 1,0 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: 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, mas não deve ser usado quando associado a percorrer arrays ou tabelas. 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. É 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 Explicação: A família de padrões GoF, está divida em três grupos principais de padrões: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais. Há 11 padrões comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method e Visitor. Esta definição se refere ao Padrão Memento. Memento é um padrão comportamental, assim como os seguintes padrões: command, iterator, mediator. O padrão Memento 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. 7a Questão Acerto: 1,0 / 1,0 Dentre as opções abaixo identifique aquela que corresponde ao padrão de projeto, cujo principal objetivo, é permitir que sejam adicionadas novas funcionalidades a classes previamente concebidas sem que haja necessidade de alterar sua implementação. Criador; Strategy; Interpreter Visitor; State; 8a Questão Acerto: 0,0 / 1,0 Em relação a aplicação dos padrões GRASP, para o diagrama de classe da figura acima é correto afirmar que: Padrão Criador: a Classe Obra tem a responsabilidade de criar instâncias da classe Obra. Padrão Especialista: a Classe Etapa tem a responsabilidade de saber quantas Etapas uma determinada Obra possui. Padrão Criador: a Classe Engenheiro tem a responsabilidade de criar instâncias da classe Obra. Padrão Especialista: a Classe Engenheiro tem a responsabilidade de saber quantas Etapas uma determinada Obra possui. Padrão Criador: a Classe Engenheiro tem a responsabilidade de criar instâncias da classe Obra. Padrão Especialista: a Classe Obra tem a responsabilidade de saber quantas Etapas uma determinada Obra possui. Padrão Criador: a Classe Obra tem a responsabilidade de criar instâncias da classe Obra. Padrão Especialista: a Classe Obra tem a responsabilidade de saber quantas Etapas uma determinada Obra possui. Padrão Criador: a Classe Engenheiro tem a responsabilidade de criar instâncias da classe Obra.Padrão Especialista: a Classe Etapa tem a responsabilidade de saber quantas Etapas uma determinada Obra possui. 9a Questão Acerto: 1,0 / 1,0 No padrão GRASP (General Responsability Assigment Software Patterns), a utilização do polimorfismo é recomendada para auxiliar a responder a duas perguntas. Uma delas é: Como tratar alternativas com base no tipo? Qual afirmativa abaixo se refere a primeira pergunta? I- Essa pergunta se refere à utilização de comandos condicionais (if-then-esle ou switch por exemplo). II- Essa pergunta se refere a, se surgir uma nova regra ou uma nova variação condicional, ela exigirá a modificação dos comandos, tornando difícil alterar e estender o programa. III- Essa pergunta se refere a relacionamentos do tipo cliente-servidor, não necessariamente aplicações em rede, mas com funcionalidades semelhantes, procurando destacar a importância de se projetar uma solução que permita alterar o servidor sem precisar modificar ou afetar a classe cliente. Est(á)ão correta(s) a(s) afirmativa(s): Somente os itens I e II; Somente o item III; Somente o item I; Somente o item II; Somente os itens II e III; Explicação: O item III está INCORRETO porque ela se refere a segunda pergunta do padrão Polimorfismo, que é: Como criar componentes de software interconectáveis? 10a Questão Acerto: 1,0 / 1,0 Que tipo de Padrão GRASP devemos utilizar para o seguinte problema? Atribuir responsabilidades apenas para classes do domínio conceitual pode levar à situações de maior acoplamento e menos coesão. Controlador; Variações Protegidas; Pure Fabrication (Invenção Pura); Acoplamento fraco; Coesão Alta. Explicação: Essa resposta está correta para essa solução o Pure Fabrication (Invenção Pura) atribui um conjunto altamente coesivo de responsabilidades (ou seja, aquelas séries de responsabilidades que são coesas vou atribui-las a) a uma classe artificial (ou seja, uma classe que não seja do domínio do negócio) que não representa um conceito do domínio do problema (a ser resolvido).
Compartilhar