Baixe o app para aproveitar ainda mais
Prévia do material em texto
1a Questão Acerto: 1,0 / 1,0 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. Facade. Factory Method. Singleton. Builder. Mediator Respondido em 17/10/2021 10:13:52 Explicação: Há cinco padrões de criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton. O Factory Method é um Padrão de Criação. Esses 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 objetivo do Factory Method (Método de Fábrica) é definir uma interface para criar um objeto, mas deixar as subclasses definirem que classe instanciar. 2a Questão Acerto: 1,0 / 1,0 O padrão de projeto singleton é usado para restringir: a instanciação de uma classe para apenas um objeto. a instanciação de uma classe para objetos simples. classes de atributos complexos as relações entre classes e objetos. a quantidade de classes Respondido em 17/10/2021 10:16:05 Explicação: Há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton. 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. 3a Questão Acerto: 1,0 / 1,0 Qual padrão compõe objetos em estruturas de árvore para representarem hierarquias partes-todos e permite aos clientes tratarem de maneira uniforme os objetos individuais e as composições de objetos? Proxy. Builder. Flyweight. Composite. Nenhuma das anteriores. Respondido em 17/10/2021 10:19:46 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 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 O padrão Flyweight é um Padrão Estrutural GoF. Quando não devemos usar esse padrão? I- Quando o estado dos objetos não for imutável II- Quando o tamanho do conjunto de objetos for significativamente menor que a quantidade de vezes em que eles são usados na aplicação; III- Quando objetos podem ser usados em diferentes contextos ao mesmo tempo (agindo sempre como um objeto independente); Est(á)ão correta(s) a(s) afirmativa(s): Somente os itens I e III; Somente o item II; Somente os itens II e III; Somente o item I; Somente os itens I e II; Respondido em 17/10/2021 10:22:33 Explicação: Os itens II e III estão errados porque é nesta situação que devemos usar esse padrão. No item I é preciso passar o estado mutável como parâmetro e isto pode ser impraticável se o estado consistir de vários objetos. 5a Questão Acerto: 1,0 / 1,0 O padrão Chain of Responsability é um Padrão Comportamental GoF. Qual o seu objetivo? Assinale a afirmativa INCORRETA 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; Evitar o acoplamento do remetente de uma solicitação ao seu receptor, ao dar a mais de um objeto a oportunidade de tratar a solicitação; Encadear os objetos receptores, passando a solicitação ao longo da cadeia até que um objeto a trate; Representar um encadeamento de objetos receptores para o processamento de uma série de solicitações diferentes; Fornecer um acoplamento mais fraco por evitar a associação explícita do remetente de uma solicitação ao seu receptor e dar a mais de um objeto a oportunidade de tratar a solicitação; Respondido em 17/10/2021 10:24:56 Explicação: Essa afirmativa está relacionada ao padrão Chain of Responsability, porque ela se refere a padrão Classe Hanter. 6a Questão Acerto: 1,0 / 1,0 (FCC - 2010) Em relação aos padrões de projetos orientados a objetos, separar dados ou lógica de negócios da interface do usuário e do fluxo da aplicação para permitir que uma mesma lógica de negócios possa ser acessada e visualizada através de várias interfaces, sem saber de quantas nem quais interfaces com o usuário estão exibindo seu estado, é característica do padrão de projeto arquitetural Observer. Creator. Expert. Layers. Model-View-Controller. Respondido em 17/10/2021 10:28:05 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. O padrão de arquitetura MVC é uma combinação de padrões centrada no padrão Observer e consiste de três participantes: Model: representa os dados da aplicação e regras de negócio associadas com os dados. Notifica o View sobre alterações. View: é um Observer para o Model. Notifica o Controller sobre eventos iniciados pelo usuário e lê dados do Model. Controller: é um Observer para o View. Encapsula lógica de controle que afeta o Model e seleciona View. O MVC é utilizado em muitos projetos devido à arquitetura que possui, o que possibilita a divisão do projeto em camadas muito bem definidas. Cada uma delas, o Model, o Controller e a View, executa o que lhe é definido e nada mais do que isso. A utilização do padrão MVC trás como benefício isolar as regras de negócios da lógica de apresentação, a interface com o usuário. Isto possibilita a existência de várias interfaces com o usuário que podem ser modificadas sem que haja a necessidade da alteração das regras de negócios, proporcionando assim muito mais flexibilidade e oportunidades de reuso das classes. Uma das características de um padrão de projeto é poder aplicá-lo em sistemas distintos. O padrão MVC pode ser utilizado em vários tipos de projetos como, por exemplo, desktop, web e mobile. 7a Questão Acerto: 1,0 / 1,0 Marque a alternativa que está relacionada ao padrão de projeto que é mais apropriado quando o comportamento de um objeto depende do seu estado e ele pode mudar seu comportamento em tempo de execução. Memento Observer State Visitor Strategy Respondido em 17/10/2021 10:33:37 8a Questão Acerto: 1,0 / 1,0 Os padrões GRASP são PRINCÍCPIOS, nos quais nós devemos nos basear, para o desenvolvimento. A informação necessária para uma tarefa computacionalfrequentemente está ¿espalhada¿ por vários objetos. Para o exemplo: determinar o total de uma venda requer a colaboração de 3 objetos, em 3 classes diferentes, qual o melhor padrão GRASP deve ser usado? Acoplamento fraco; Expert (Especialista da informação); Criador; Controlador; Coesão Alta; Respondido em 17/10/2021 10:39:03 Explicação: Essa resposta está correta porque Expert (Especialista da informação), porque é o padrão mais usado para atribuir responsabilidades. Há muitos experts parciais. Neste caso mensagens são usadas para estabelecer as colaborações. Note que, com o uso do padrão Expert o encapsulamento das classes é mantido. 9a Questão Acerto: 1,0 / 1,0 O tipo tipos de coesão caracterizada quando um módulo executa um e somente um cálculo, e então retorna o resultado é chamada de: Recursiva. Em Camada; Comucacional Funcional; Paralela; Respondido em 17/10/2021 10:44:55 10a Questão 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. 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. 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 17/10/2021 10:41:10 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.
Compartilhar