Baixe o app para aproveitar ainda mais
Prévia do material em texto
08/04/2021 Estácio: Alunos https://simulado.estacio.br/alunos/?p0=54157248&user_cod=2279324&matr_integracao=201902210352 1/5 Disc.: PADRÕES DE PROJETO DE SOFTWARE Aluno(a): RIVER DE SOUZA DINIZ 201902210352 Acertos: 9,0 de 10,0 08/04/2021 Acerto: 1,0 / 1,0 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 duas categorias, sendo-as: Padrões Estruturais e Padrões Comportamentais. Os modelos dos padrões GoF são agrupados em quatros categorias, sendo-as: Padrões de Criação, Padrões Estruturais, Padrões Organizacionais e Padrões Comportamentais. 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 Organizacionais. Os modelos dos padrões GoF são agrupados em duas categorias, sendo-as: Padrões de Criação e Padrões Comportamentais. 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. Respondido em 08/04/2021 23:31:30 Acerto: 1,0 / 1,0 O padrão Singleton é um Padrão de Criação GoF. A estrutura desse padrão utiliza alguns recursos. Assinale o único recurso que NÃO pertence a esse padrão. Construtor da classe privado, para não permitir a instância de novos objetos da classe; Modificar static para implementar o método getInstance e, assim, retornar a instancia apropriada ou criá-la, caso seja a primeira vez; Modificando as aplicações para este padrão de projeto para que a facilidade de instanciar classes em tempo de execução possa acontecer; Modificadores static e private para garantir uma mesma instância para todos os objetos criados e evitar acesso público; Declarar o método getInstance como synchronized para que o método seja executado por uma thread por vez, quando utilizado em programas multi-thread; Respondido em 08/04/2021 23:33:38 Explicação: Esta afirmativa NÃO pertence ao padrão Singleton, porque está relacionada ao padrão Prototype. Questão1 a Questão2 a https://simulado.estacio.br/alunos/inicio.asp javascript:voltar(); 08/04/2021 Estácio: Alunos https://simulado.estacio.br/alunos/?p0=54157248&user_cod=2279324&matr_integracao=201902210352 2/5 Acerto: 1,0 / 1,0 Qual padrão desacopla uma abstração de sua implementação de modo que as duas possam variar independentemente? Façade. Nenhuma das anteriores. Bridge. Proxy. Decorator. Respondido em 08/04/2021 23:37:45 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. Os Padrões Estruturais tratam da composição de classes e objetos para formar estruturas complexas; associados à maneira como classes e objetos são organizados estruturalmente; oferecem formas efetivas para usar conceitos OO como herança e composição, e são abstrações de aspectos estruturais. O padrão Bridge, desacopla uma abstração de sua implementação, de tal forma que os dois possam variar independentemente. Acerto: 1,0 / 1,0 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. Incentivar acoplamento fraco entre o subsistema e seus clientes. Ajudar a melhorar portabilidade dos sistemas. Tornar os clientes independentes da complexidade dos diferentes subsistemas de uma aplicação. Simplificar o acesso a determinadas funcionalidades de um subsistema, sem inviabilizar sua utilização direta. Respondido em 08/04/2021 23:42:10 Gabarito Comentado Acerto: 1,0 / 1,0 Qual padrão usar para definir uma representação de uma linguagem para sua gramática junto a um interpretador que sua representação para interpretar essas sentenças? Visitor. Iterator. Interpreter. Nenhuma das anteriores. Strategy. Respondido em 08/04/2021 23:44:12 Questão3 a Questão4 a Questão5 a 08/04/2021 Estácio: Alunos https://simulado.estacio.br/alunos/?p0=54157248&user_cod=2279324&matr_integracao=201902210352 3/5 Explicação: Há 11 Padrões Comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method e Visitor. O INTERPRETER tem a função de interpretar, interfacear delegando responsabilidade. Ao padrões comportamentais tem como premissa se preocupar com algoritimos, Não só com algoritimos, mas com a relação entre objetos. Não escreve padrões não só voltados para classe, mas também no que tange a comunicação entre essas classes. Acerto: 1,0 / 1,0 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 Permitir em casos excepcionais o acoplamento direto entre classes e serviços; permitir tratamento de requisições concorrentes; permitir fácil inclusão de novos comandos Evitar o acoplamento direto entre classes e serviços; Manter histórico de execução de comandos; Respondido em 08/04/2021 23:48:05 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. Interpreter Criador; Visitor; State; Strategy; Respondido em 08/04/2021 23:50:30 Acerto: 1,0 / 1,0 Os 9 padrões definidos pela General Responsability Assignment Software Pattener são? 1.Creator; 2.High Coesion; 3.Low Coupling; 4.Controller; 5.Polymorphis; 6.Information Expert; 7.Pure Fabrication; 8.Indirection; e 9.Variation. 1.Singleton; 2.High Coesion; 3.Low Coupling; 4.Controller; 5.Polymorphis; 6.Information Expert; 7.Pure Fabrication; 8.Indirection; e 9.Variation. 1.Creator; 2.High Coesion; 3.Low Coupling; 4.Buider; 5.Bridge; 6.Information Expert; 7.Pure Fabrication; 8.Indirection; e 9.Variation. 1.Creator; 2.Decoretor; 3.FlyWeight; 4.Controller; 5.Polymorphis; 6.Information Expert; 7.Pure Fabrication; 8.Indirection; e 9.Variation. 1.Creator; 2.High Coesion; 3.Low Coupling; 4.Controller; 5.Polymorphis; 6.Information Expert; 7.Pure Fabrication; 8.Indirection; e 9.Facade. Respondido em 08/04/2021 23:54:50 Acerto: 0,0 / 1,0 Questão6 a Questão7 a Questão8 a Questão9 a 08/04/2021 Estácio: Alunos https://simulado.estacio.br/alunos/?p0=54157248&user_cod=2279324&matr_integracao=201902210352 4/5 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 necessariamenteaplicaçõ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 o item I; Somente o item III; Somente o item II; Somente os itens I e II; Somente os itens II e III; Respondido em 09/04/2021 00:00:26 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? Acerto: 1,0 / 1,0 O padrão Indireção tem como característica: 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. é 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. 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. É 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. 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. Respondido em 09/04/2021 00:01:56 Explicação: 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: Alguns padrões da família GRASP: Expert, Creator, High Coesion, Low Coupling, Controller, ou seja: Especialista; Criador; Baixo Acoplamento (Acoplamento Fraco). Outros padrões GRASP considerados Avançados são Inversão Pura (Pure Fabrication), Indireção e Variações Protegidas. O padrão Indireção resolve problemas como: a quem devemos atribuir a responsabilidade, evitando o acoplamento direto entre dois ou mais objetos? e como desacoplar objetos apoiando o Acoplamento Baixo e maximizando o potencial de reuso? A solução para isso é atribuir a responsabilidade a um objeto intermediário para mediar as mensagens entre outros componentes ou serviços, para que não sejam diretamente acoplados e o objeto intermediário cria uma camada de indireção entre os dois componentes que não mais dependam um do outro: Ambos dependem da indireção. A Indireção quer que dois objetos, evite-se o acoplamento direto entre eles. Questão10 a 08/04/2021 Estácio: Alunos https://simulado.estacio.br/alunos/?p0=54157248&user_cod=2279324&matr_integracao=201902210352 5/5 A ideia é diminuir o acoplamento e manter a coesão. javascript:abre_colabore('38403','221570352','4473615047');
Compartilhar