Baixe o app para aproveitar ainda mais
Prévia do material em texto
Disc.: PADRÕES DE PROJETO DE SOFTWARE Acertos: 7,0 de 10,0 30/09/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 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 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 duas categorias, sendo-as: Padrões Estruturais e Padrões Comportamentais. 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 30/09/2021 15:02:33 Acerto: 1,0 / 1,0 O padrão GoF Criacional que define um comportamento de clonagem de classes é: Abstract Factory Prototype Facade Singleton Factory Method Respondido em 30/09/2021 15:02:34 Explicação: Há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton. O PROTOTYPE é um Padrão de Criação. É um padrão cuja responsabilidade é a CONSTRUÇÃO Ele especifica os tipos de objetos a serem criados usando uma instância como protótipo e criar novos objetos ao copiar este protótipo. Questão1a Questão2a https://simulado.estacio.br/alunos/inicio.asp javascript:voltar(); Acerto: 0,0 / 1,0 O padrão Adapter é um Padrão Estrutural GoF. Com relação aos seus objetivos podemos afirmar que: I- O padrão de projeto Adapter converte a interface de uma classe em outra interface esperada pelos clientes. II- O padrão Adapter permite a comunicação entre classes que não poderiam trabalhar juntas devido à incompatibilidade de suas interfaces. III- O padrão Adapter desacoplar uma abstração de sua implementação para que os dois possam variar independentemente. Est(á)ão correta(s) a(s) afirmativa(s): Somente os itens II e III; Somente o item II; Somente o item I; Somente os itens I e III; Somente os itens I e II; Respondido em 30/09/2021 15:02:36 Explicação: O item III está errado porque ela se refere ao padrão Builder. Acerto: 1,0 / 1,0 Qual padrão usa compartilhamento para suportar eficientemente grandes quantidades de objetos de granularidade fina? Nenhuma das anteriores. Composite. Façade. Bridge. Flyweight. Respondido em 30/09/2021 15:02:37 Explicação: Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite, Decorator, Façade, Flyweight e Proxy. Flyweight é um padrão de projeto de software apropriado quando vários objetos devem ser manipulados em memória sendo que muitos deles possuem informações repetidas. Dado que o recurso de memória é limitado, é possível segregar a informação repetida em um objeto adicional que atenda as características de imutabilidade e comparabilidade (que consiga ser comparado com outro objeto para determinar se ambos carregam a mesma informação). Acerto: 1,0 / 1,0 Marque a única alternativa correta sobre um cenário de aplicação do padrão de projeto Template Method Garantimos que não será possível instanciar mais do que 1(uma) instância de uma determinada classe Possibilitamos a comunicação entre interfaces incompatíveis Questão3a Questão4a Questão5a Armazenamos o estado interno de um objeto para permitir a implementação da operação de desfazer (undo) Permitimos, em tempo de execução, que sejam adicionadas novas operações sobre uma estrutura de dados Implementamos partes invariantes de um algoritmo em uma classe abstrata e deixamos que o restante do código seja implementado nas subclasses Respondido em 30/09/2021 15:02:39 Acerto: 0,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, 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 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 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. Respondido em 30/09/2021 15:02:41 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. Acerto: 1,0 / 1,0 Qual padrão define uma família de algoritmos, encapsula cada uma delas e torna-as intercambiáveis, e permite que o algoritmo varie independentemente dos clientes que o utilizam? Nenhuma das anteriores. Visitor. Template Method. Strategy. Decorator. Respondido em 30/09/2021 15:02:42 Explicação: Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method e Visitor. São projetados para organizar, gerenciar e combinar diferentes comportamentos. O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de aspectos comportamentais. 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. Questão6a Questão7a Acerto: 1,0 / 1,0 Não é padrão GRASP? Controller Creator Polymorphism Indirection Low Cohesion Respondido em 30/09/2021 15:02:44 Explicação: Temos os seguintes Padrões GRASP: Expert (Especialista), Creator (Criador), High Coesion, Low Coupling (Baixo Acoplamento), Controller. Padrões GRASP descrevem princípios fundamentais de atribuição de responsabilidade a objetos. COESÃO - Coesão mede o quanto as responsabilidades de um elemento (classe, objeto, subsistema,¿) são fortemente relacionadas. Acerto: 0,0 / 1,0 Considere a figura abaixo E escolha a opção correta sobre a gravura: 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 A Classe instanciada assinala como :???? É de baixo acoplamento e baixa coesão pela natureza de sua criação. 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. A Classe instanciada assinalada como :???? Não pode ser decomposta em outros controladores. Assim temos que trabalhar com o tipo decoesão resultante (temporal, funcional...) A Classe instanciada assinalada como :???? Deveria estar incorporada na classe emprestar para evitar criar uma serie de novas classes. Isto facilita o projeto. Respondido em 30/09/2021 15:02:46 Explicação: 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, Indireção e Variações Protegidas. Questão8a Questão9a Essa afirmativa é a correta porque em uma Coesão Alta as classes com estes tipos de coesão são mais fáceis de implementar, testar e manter. No entanto, outros tipos de coesão podem aparecer, tais como, seqüencial, procedural, temporal e utilidade, as quais, segundo Pressman (2006), são menos desejáveis e devem ser evitados quando existirem alternativas de projeto. Ainda segundo Larman (2007), uma classe com coesão baixa faz muitas atividades que não estão relacionadas e trabalha em demasia, acarretando os seguintes problemas: dificuldade de compreensão e manutenção, dificuldade de reutilização, além de apresentar bastante sensibilidade a modificações. 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 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: é 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. 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. 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. Respondido em 30/09/2021 15:02:47 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ão10a javascript:abre_colabore('38403','267927194','4846407847');
Compartilhar