Baixe o app para aproveitar ainda mais
Prévia do material em texto
26/09/2021 09:36 Estácio: Alunos https://simulado.estacio.br/alunos/?p0=396024876&user_cod=2613674&matr_integracao=202001677534 1/6 Simulado AV Teste seu conhecimento acumulado Disc.: PADRÕES DE PROJETO DE SOFTWARE Aluno(a): YURI ALMEIDA DO NASCIMENTO 202001677534 Acertos: 10,0 de 10,0 26/09/2021 Acerto: 1,0 / 1,0 Quais dos padrões abaixo corresponde aos padrões de criação. Mediator, Memento, Observer Adapter, Bridge, Composite. Singleton, Strategy, Template Method Chain of Responsibility, Command, Iterator Abstract Factory, Builder, Factory Method Respondido em 26/09/2021 08:53:59 Explicação: Os padrões de criação são aqueles que abstraem e ou adiam o processo criação dos objetos. Eles ajudam a tornar um sistema independente de como seus objetos são criados, compostos e representados. 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. 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 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. Há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton. Acerto: 1,0 / 1,0 Analise as afirmativas abaixo, com relação aos padrões de projeto, e marque a opção correta. I - O Singleton é um padrão que garante que uma classe tenha apenas uma instância. II - Alguns padrões de criação como o Prototype, o Proxy e o Façade não são adequados para a programação orientada a objetos. III - Adapter é um padrão estrutural utilizado para compatibilizar interfaces de modo que elas possam interagir. Questão1 a Questão2 a https://simulado.estacio.br/alunos/inicio.asp javascript:voltar(); 26/09/2021 09:36 Estácio: Alunos https://simulado.estacio.br/alunos/?p0=396024876&user_cod=2613674&matr_integracao=202001677534 2/6 Todas as afirmativas estão corretas Apenas I está correta Apenas I e II estão corretas Todas as afirmativas estão incorretas Apenas I e III estão corretas Respondido em 26/09/2021 08:56:42 Explicação: O item II está errado porque o padrão de projeto Singleton é um dos padrões mais conhecidos e extensivamente utilizados em programação orientada a objetos. Está direcionado para as situações onde precisamos manter uma única instancia de uma classe durante toda a execução da aplicação. 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. Acerto: 1,0 / 1,0 (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. Ambos promovem a flexibilidade ao fornecer um nível de endereçamento indireto para outro objeto. O foco do Adapter é a solução de incompatibilidades entre duas interfaces existentes. O Adapter é inferior ao Bridge porque não evita a replicação de código. O Bridge estabelece uma ponte entre uma abstração e suas possíveis implementações. Ambos são padrões estruturais que possuem alguns atributos em comum. Respondido em 26/09/2021 09:00:07 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á cinco padrões de criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton. Há 7 (sete) tipos de padrões estruturais GoF: Adapter, Bridge, Composite, Decorator, Façade, Flyweight e Proxy. Há 11 padrões comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method e Visitor. Essa opção está errada porque a classe Adapter é alusivo a estrutura, ou seja, estrutural. A ideia é fazer adaptação entre dois recursos. A classe Adapter converte a interface de uma classe em outra interface esperada pelos clientes. Adapter permite a comunicação entre classes que não poderiam trabalhar juntas devido à incompatibilidade de suas interfaces. Acerto: 1,0 / 1,0 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 Questão3 a Questão4 a 26/09/2021 09:36 Estácio: Alunos https://simulado.estacio.br/alunos/?p0=396024876&user_cod=2613674&matr_integracao=202001677534 3/6 - 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. Flyweight Coesão Acoplamento Façade Proxy Respondido em 26/09/2021 09:01:33 Gabarito Comentado Acerto: 1,0 / 1,0 Qual é o padrão GoF comportamental correspondente ao código abaixo? Approver larry = new Director(); Approver sam = new VicePresident(); Approver tammy = new President(); larry.SetSuccessor(sam); sam.SetSuccessor(tammy); // Generate and process purchase requests Purchase p = new Purchase(2034, 350.00, "Assets"); larry.ProcessRequest(p); p = new Purchase(2035, 32590.10, "Project X"); larry.ProcessRequest(p); p = new Purchase(2036, 122100.00, "Project Y"); larry.ProcessRequest(p); ....... State Chain of Responsability Command Visitor Observer Respondido em 26/09/2021 09:04:00 Explicação: O padrão Chain of Responsability, compõem objetos em cascata para, através dela, delegar uma requisição até que um objeto a sirva. 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: É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais objetos Questão5 a Questão6 a 26/09/2021 09:36 Estácio: Alunos https://simulado.estacio.br/alunos/?p0=396024876&user_cod=2613674&matr_integracao=202001677534 4/6 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 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, mas não deve ser usado quando associado a percorrer arrays ou tabelas. Oferece uma forma de percorrer este tipo de objeto agregado sem conhecer seus detalhes de implementação Respondido em 26/09/2021 09:05:01 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 temcomo 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. Acerto: 1,0 / 1,0 O padrão Visitor é um Padrão Comportamental GoF. O objetivo desse padrão é: I- Representar uma operação a ser realizada nos elementos de uma estrutura de objetos; II- Definir uma dependência um-para-muitos entre objetos para que quando um objeto mudar de estado, todos os seus dependentes sejam notificados e atualizados automaticamente; III- permite que você defina uma nova operação sem alterar as classes dos elementos nos quais a operação atua; Est(á)ão correta(s) a(s) afirmativa(s): Somente o item I; Somente o item II; Somente os itens I e III; Somente os itens I e II; Somente o item III; Respondido em 26/09/2021 09:06:45 Explicação: O objetivo do padrão Visitor, de acordo com Gamma et. al, 2000, é representar uma operação a ser realizada nos elementos de uma estrutura de objetos. Visitor permite que você defina uma nova operação sem alterar as classes dos elementos nos quais a operação atua. O item II está incorreto, porque esse é o objetivo do padrão Observer. Acerto: 1,0 / 1,0 Questão7 a Questão8 a 26/09/2021 09:36 Estácio: Alunos https://simulado.estacio.br/alunos/?p0=396024876&user_cod=2613674&matr_integracao=202001677534 5/6 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 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 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 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 Obra tem a responsabilidade de saber quantas Etapas uma determinada Obra possui. Respondido em 26/09/2021 09:10:56 Acerto: 1,0 / 1,0 Qual padrão GRASP é um padrão de projeto de delegação, o qual deve delegar a outros objetos o serviço que precisa ser feito? Invenção pura; Controlador; Variações protegidas; Criador; Coesão Alta; Respondido em 26/09/2021 09:14:17 Explicação: Essa resposta está correta, porque para Larman (2007) um controlador é 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. De forma mais simples, este é um padrão de projeto de delegação, pois, normalmente um controlador deve Questão9 a 26/09/2021 09:36 Estácio: Alunos https://simulado.estacio.br/alunos/?p0=396024876&user_cod=2613674&matr_integracao=202001677534 6/6 delegar a outros objetos o serviço que precisa ser feito; ele coordena ou controla a atividade. Acerto: 1,0 / 1,0 O padrão Indireção tem como característica: 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. 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. 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. É 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 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. Respondido em 26/09/2021 09:15:21 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. A ideia é diminuir o acoplamento e manter a coesão. Questão10 a javascript:abre_colabore('38403','267519078','4834445598');
Compartilhar