Baixe o app para aproveitar ainda mais
Prévia do material em texto
12/10/2018 EPS http://simulado.estacio.br/alunos/ 1/4 PADRÕES DE PROJETO DE SOFTWARE 1a aula Lupa V ídeo P PT MP3 Exercício: CCT0763_EX_A1_201707127069_V1 12/10/2018 13:03:47 (Finalizada) Aluno(a): MICHEL IMPERIO 2018.3 EAD Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201707127069 1a Questão Analise as afirma�vas abaixo: I. A ideia principal que é atribuída no conceito de Padrões de Projeto de So�ware é a "reu�lização de ideias (soluções consolidadas)... Não necessariamente de códigos...". II. A u�lização padrões de projeto de so�ware em um projeto de desenvolvimento de programas implica na reu�lização de códigos prontos feitos por outros desenvolvedores (da empresa ou externos) com finalidade de agil izar o processo de conclusão do so�ware. III. Um projeto de desenvolvimento de so�ware que segue padrões de projeto não necessita documentar aspectos recorrentes do desenvolvimento do so�ware. IV. O MVC (model-view-controller), GoF (Gang of Four) e GRASP (General Responsibility Assignment So�ware Pa�erns) são exemplos de padrões de projeto de so�ware. E assinale a única opção VERDADEIRA acerca das afirmativas acima. as afirmações I e IV são verdadeiras. as afirmações I, III e IV são verdadeiras. as afirmações II e III são verdadeiras. todas as afirmações são verdadeiras. todas as afirmações são falsas. 2a Questão Uma das categoria que tradicionalmente se classificam os padrões de projeto: Padrões de criação cujo objetivo é: Define formas de instanciar objetos delegando responsabilidades Define como implantar o mecanismo de herança em um grupo de objetos Define formas de gerencia e combinar diferentes comportamentos. Define como implantar um novo método em uma classe. Define a forma de organização dos objetos e sua colaboração mutua Explicação: 12/10/2018 EPS http://simulado.estacio.br/alunos/ 2/4 Isso porque padrões de projeto são voltados para problemas recorrentes que ocorrem no nosso dia-a-dia, seja na área de desenvolvimento de software, seja em qualquer outra área do conhecimento. Ao caracterizarmos os padrões de projeto por Finalidade, temos: Estruturais, de Criação e Comportamentais. Os de Criação são associados ao processo de criação de objetos e também tornam um sistema independente de como seus objetos são criados, compostos e representados. 3a Questão considerando a classe de projetos GoF assinale a opção cujos padrões de projeto estão todos classificados como criação: Abstractly factory ; Builder ; Composite ; Protype - Singleton Abstractly factory ; Builder ; Factory Method ; Decorator - Singleton Command ; Builder ; Factory Method ; Protype - Singleton Abstractly factory ; Bridge ; Factory Method ; Protype ; Singleton Abstractly factory ; Builder ; Factory Method ; Protype - 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 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. Seu objetivo é fornecer 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. 4a Questão Esses são padrões de projeto GoF estudados em aula, EXCETO: Observer Workflow Strategy Adapter Facade 5a Questão Analise as afirmações abaixo: I. Define uma dependência um para muitos entre objetos, de forma que, quando o objeto é alterado todos os seus dependentes são notificados e atualizados.. II. Dada uma linguagem define uma representação para a sua gramática juntamente com um interpretador. III. Agrega dinamicamente responsabilidades adicionais a um objeto. As afirrmações correspondem respectivamente a: Interpreter, Observer, Decorator 12/10/2018 EPS http://simulado.estacio.br/alunos/ 3/4 Interpreter, Observer, Decorator Observer, Interpreter, Decorator Observer, Decorator, Interpreter Decorator, Interpreter, Observer Explicação: O padrão Observer (observador) define uma dependência um para muitos, que será necessária para fazer a relação entre um conjunto de dados e várias representações, além de permitir que, quando um objeto mude de estado, todos os dependentes sejam notificados. Define uma dependência um para muitos entre objetos tal que, quando o estado de um objeto muda, todos os seus dependentes são notificados e atualizados automaticamente. O padrão Interpreter é um dos padrões de projeto de software, famosos como "Design Patterns", muito utilizado para a resolução de problemas quando a modelagem de sistemas ou softwares. Esse padrão esta incluso na categoria de Padrão Comportamental, ou seja, ele busca solucionar problemas de modelagem que tratam o comportamento de classes. Tem a função de interpretar, interfacear delegando responsabilidade. O padrão Decorator é um padrão de cuja intenção são as Extenções. O padrão Decorator anexa responsabilidades adicionais a um objeto (em caráter dinâmico) dinamicamente. Decorators oferecem uma alternativa flexível ao uso de herança para estender uma funcionalidade (para a extensão de funcionalidade). 6a Questão Sobre padrões de projeto escolha a opção incorreta. a diversidade de padrões disponíveis é bastante grande, pode-se ter, por exemplo, padrões arquiteturais, padrões de análise, padrões de projeto e padrões de código. Os padrões de projeto são descrições de objetos que se comunicam e classes que são customizadas para resolver um problema genérico de design em um contexto específico. Padrões de projeto estão relacionados a diferentes níveis de abstração no desenvolvimento de aplicações orientadas a objetos, podendo aparecer ao longo de todo ciclo de análise e projeto de um sistema Cada padrão descreve um problema que ocorrem repetidas vezes em nosso ambiente e fornece o núcleo da solução para aquele problema, de tal maneira que se pode usar essa solução milhões de vezes sem nunca fazê-la da mesma forma Um padrão de projeto define uma estrutura que obrigatoriamente não poderá ser alterada pelo desenvolvedor Explicação: Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais. O padrão de criação GoF contempla cinco tipos de padrões: Abstract Factory, Builder, Factory Method, Prototype e Singleton. Esta opção é incorreta porque durante o projeto uma estrutura pode ser alterada. 7a Questão considere a afirmativa de Gamma e Al. citada abaixo e escolha a opção correta: - Em geral, todas as arquiteturas orientadas a objeto bem-estruturadas estão cheias de padrões. Uma das maneiras de medir a qualidade de um sistema orientado a objetos é avaliar se os colaboradores tomaram bastante cuidado com as colaborações comuns entre seus objetos. Focalizar em tais mecanismos durante o desenvolvimento de um sistema pode levar a uma arquitetura menor, mais simples, muito mais compreensível do que aquelas produzidas quanto padrões são ignorados Padrões causam falta de criatividade nos desenvolvedores e esta perda compromete a qualidade Padrões são boas práticas e proporcionam garantia de qualidade na elaboração do código Padrões é uma forma obrigatória de programar com objetos Padroes sempre levam a uma arquitetura menor principalmente quando se usa tecnologiade objetos Padrões são de uso obrigatório e eliminam os erros cometidos na fase programação. 12/10/2018 EPS http://simulado.estacio.br/alunos/ 4/4 Explicação: Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais. O padrão de criação GoF contempla cinco tipos de padrões: Abstract Factory, Builder, Factory Method, Prototype e Singleton. Para Gamma et all, "Os padrões de projeto são descrições de objetos que se comunicam e classes que são customizadas para resolver um problema genérico de design em um contexto específico". 8a Questão Podemos afirmar que os Padrões Estruturais da família GoF: Fornecem um guia de como instanciar objetos, que normalmente envolve decisões dinâmicas para escolher, por exemplo, qual classe instanciar ou a quais objetos delegar responsabilidade. São projetados para organizar, gerenciar e combinar diferentes comportamentos. Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e colaboração mútua. Colocam em dúvida o tratamento dispensado aos usuários na fase de levantamento das necessidades. Aumentam a responsabilidade do programador em depurar o código e as rotinas necessárias à documentação dos processos. 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 estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite, Decorator, Façade, Flyweight e Proxy. O objetivo dos Padrões Estruturais é definir caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e colaboração mutua. Tratam da composição de classes e objetos para formar estruturas complexas. São associados à maneira como classes e objetos são organizados estruturalmente. E oferecem formas efetivas para usar conceitos OO como herança e composição. 12/10/2018 EPS http://simulado.estacio.br/alunos/ 1/3 PADRÕES DE PROJETO DE SOFTWARE 1a aula Lupa V ídeo P PT MP3 Exercício: CCT0763_EX_A1_201707127069_V2 12/10/2018 13:04:44 (Finalizada) Aluno(a): MICHEL IMPERIO 2018.3 EAD Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201707127069 1a Questão Como a adoção de um padrão de projeto pode auxiliar o desenvolvimento de software? Alterando a forma com que os objetos são criados e transformar a criação de objetos uma função específica de classes herdadas Por meio da aplicação obrigatória de ao menos um dos padrões GOF Por meio da adoção de qualquer padrão, desde que seja um dos que foram aceitos pela comunidade internacional Por meio da sugestão de melhorias nos acessos e estruturação de situações problemáticas Alterando o meio de acessar classes por meio de Interfaces e Dependências 2a Questão (FCC-2011) Os design patterns são aplicações propriamente ditas, normalmente construídas pela integração de diversos frameworks. consistem em conjuntos de classes que um usuário instancia para utilizar seus métodos. Após a chamada ao método, o controle do fluxo da aplicação retorna para o usuário. são de uso exclusivo em processos de desenvolvimento de soluções orientado a objetos, já que os objetos são a mais adequada abstração para o reúso. podem ser modelados utilizando-se a linguagem UML que fornece um meio eficiente de modelar pa- drões de projeto representando-os como colaborações. são projetos de arquitetura para um domínio específico de aplicação e sempre trazem componentes predefinidos que envolvem código de programação. 3a Questão A família de padrões GoF é dividida em três grupos principais de padrões, a saber: Padrões Estruturais; Padrões de Processo; Padrões de Responsabilidade Padrões Comportamentais; Padrões de Criação; Padrões Estruturais 12/10/2018 EPS http://simulado.estacio.br/alunos/ 2/3 Padrões de Criação; Padrões Metodológicos; Padrões de Ponte Padrões de Processo; Padrões de Singularidade; Padrões de Prototipação Padrões de Proxy; Padrões de Criação; Padrões de Encadeamento 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: Escopo por Classe: Factory Method ; Escopo por Objeto: Abstract Factory, Builder, Prototype e Singleton. Os padrões Estruturais GoF contemplam 8 (oito) tipos de padrões: Escopo por Classe: Class Adapter; Escopo por Objeto: Object Adapter, Bridge, Composite, Decorator, Façade, Flyweight e Proxy. Os padrões Comportamentais GoF contemplam 11 (onze) tipos de padrões: Escopo por Classe: Interpreter, Template Method; Escopo por Objeto: Chain of Responsibility, Command, Iterator, Mediator, Memento, Observer, State, Strategy, e Visitor. 4a Questão Qual o objetivo dos Padrões de Criação? Assinale a opção CORRETA. Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e colaboração mutua. Fornecem um guia de como instanciar objetos, e envolve decisões dinâmicas para escolher qual classe instanciar. Tratam da composição de classes e objetos para formar estruturas complexas. Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e colaboração mutua. Oferecem formas efetivas para usar conceitos OO como herança e composição. Explicação: Essa afirmativa está CORRETA porque as outras se referem a Padrões Estruturais. 5a Questão Para facilitar a manutenção da aplicação, há um design pattern que tem como objetivo principal centralizar o acesso aos dados em uma única camada. Esse design pattern é o Application Service DAO DTO Business Object MVC 6a Questão (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? Decorator Observer Composite 12/10/2018 EPS http://simulado.estacio.br/alunos/ 3/3 Abstract Factory Adapter 7a Questão Quanto aos design patterns, é correto afirmar que: descrevem melhores práticas, bons projetos, e captam a experiência de uma maneira possível de ser usada por outros. o maior problema com a utilização dos design patterns é que eles não suportam o uso de ferramentas CASE e podem trazer erros provenientes da percepção de quem os criou. a UML pode ser utilizada para representar frameworks, mas não é tão ampla ao ponto de oferecer suporte à representação dos design patterns. são conjuntos de classes abstratas e concretas que podem ser adaptadas e ampliadas para criar sistemas de aplicações. são projetos concretos que incluem detalhes de implementação. 8a Questão O Design Patterns que tem a finalidade de usar compartilhamento para suportar grandes quantidades de objetos, de granularidade fina, de maneira eficiente, é denominado State Composite Strategy Flyweight Builder 12/10/2018 EPS http://simulado.estacio.br/alunos/ 1/4 PADRÕES DE PROJETO DE SOFTWARE 2a aula Lupa V ídeo P PT MP3 Exercício: CCT0763_EX_A2_201707127069_V1 12/10/2018 13:07:37 (Finalizada) Aluno(a): MICHEL IMPERIO 2018.3 EAD Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201707127069 1a Questão 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õesde 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. MEDIATOR. BUILDER. FACTORY METHOD. FACADE. SINGLETON. Explicação: Há cinco padrões de criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton. O BUILDER é um Padrão de Criação. É um padrão cuja responsabilidade é a CONSTRUÇÃO Tentam minimizar a carga que os desenvolvedores têm ao ato de criar objetos dentro de um construtor. Isso é comum em desenvolvedores iniciantes. 12/10/2018 EPS http://simulado.estacio.br/alunos/ 2/4 2a Questão Qual padrão separa a construção de um objeto complexo da sua representação de modo que o mesmo processo de construção possa criar diferentes representações? Factory Method. Nenhuma das anteriores. Builder. Singleton. Prototype. Explicação: Há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton. O padrão Builder tenta minimizar a carga que os desenvolvedores tem ao ato de criar objetos dentro de um construtor. Isso é comum em desenvolvedores iniciantes. O BUILDER é um Padrão de Criação. É um padrão cuja responsabilidade é a CONSTRUÇÃO Tentam minimizar a carga que os desenvolvedores têm ao ato de criar objetos dentro de um construtor. Isso é comum em desenvolvedores iniciantes. 3a Questão Segundo Metsker, 2004, o padrão de projeto ______________ tem como solução mover a lógica de construção de uma classe para um objeto externo, a fim de reduzir a complexidade da mesma e permitir a construção gradual de objetos- alvo a partir dessa classe. Escolha uma das alternativas abaixo que preenche corretamente a lacuna apresentada na descrição acima. FACADE. SINGLETON. BUILDER. MEDIATOR. FACTORY METHOD. 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 Builder tem a função de separar a construção de objeto complexo da representação para criar representações diferentes com mesmo processo. O padrão Builder pode ser visto como um construtor especializado, que irá executar e avaliar diferentes regras de negócio e demais particularidades relacionadas com a criação de um novo objeto. 4a Questão Assinale a alternativa que indica o padrão correto. ¿Especifica os tipos de objetos a serem criados usando uma instância-protótipo e cria novos objetos pela cópia desse protótipo¿ 12/10/2018 EPS http://simulado.estacio.br/alunos/ 3/4 nenhuma das alternativas Adapter Singleton Prototype Bridge Explicação: Há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton. O padrão Prototype especifica tipos a criar usando uma instância como protótipo e criar novos objetos ao copiar este protótipo. O padrão de projeto Prototype declara um método chamado clone na superclasse abstrata do modelo (Prototype) 5a Questão O padrão de projeto Singleton é usado para restringir: São A instanciação de uma classe para objetos simples. As relações entre classes e objetos A instanciação de uma classe para apenas um objeto Um Classes de atributos complexos. A quantidade de classes. 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. 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. Na linguagem Java os modificadores states e private devem garantir uma mesma instância para todos os objetos criados e evitar acesso público. 6a Questão 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. 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; 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; Construtor da classe privado, para não permitir a instância de novos objetos da classe; Modificadores static e private para garantir uma mesma instância para todos os objetos criados e evitar acesso público; Explicação: Esta afirmativa NÃO pertence ao padrão Singleton, porque está relacionada ao padrão Prototype. 12/10/2018 EPS http://simulado.estacio.br/alunos/ 4/4 7a Questão Assinale dentre as opções abaixo, qual o padrão de projeto mais conhecidos e extensivamente utilizados em programação orientada a objetos e que está direcionado para as situações onde é preciso manter uma única instancia de uma classe durante toda a execução da aplicação. Builder; Composite; Singleton Prototipe: Decorator; 8a Questão (CESGRANRIO - 2009) Por motivo de segurança, deseja-se adicionar registro (log) das operações efetuadas no sistema de contabilidade de uma empresa. O arquiteto do sistema decide que deve existir somente uma instância de uma classe de registro (log) e que esta será o ponto de acesso global para os demais componentes do sistema. Que padrão de projeto pode ser utilizado nesse caso? Iterator. Visitor. Bridge. Singleton. Memento. 12/10/2018 EPS http://simulado.estacio.br/alunos/ 1/4 PADRÕES DE PROJETO DE SOFTWARE 2a aula Lupa V ídeo P PT MP3 Exercício: CCT0763_EX_A2_201707127069_V2 12/10/2018 13:08:25 (Finalizada) Aluno(a): MICHEL IMPERIO 2018.3 EAD Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201707127069 1a Questão A implementação do padrão de projeto PROTOTYPE é facilitada quando usada na linguagem de programação ________ com a utilização da interface Cloneable, utilizada apenas para indicar que o método Object.clone() pode realizar uma cópia, atributo por atributo, das instâncias da classe. Assinale a opção que complementa corretamente a lacuna. JAVA; ASSENBLY; Qualquer linguagem orientada a objeto. HTML; C ++; 2a Questão Considere as afirmativa abaixo sobre o padrão Builder: I ) É utilizado na instanciação de objetos complexos. II)É visto como um construtor especializado, que irá executar e avaliar diferentes regras de negócio e demais particularidades relacionadas com a criação de um novo objeto. III )A idéia é atribuir a responsabilidade de criação do objeto complexo a outra classe, esta classe irá armazenar todas as configurações e regras necessárias para a instanciação do novo objeto. As afirmativas estão todas corretas As afirmativas II, III estão corretas e a afirmativa I está errada. As afirmativas I, II, estão corretas e a afirmativaIII está errada. As afirmativas I, III, estão corretas e II errada As afirmativas I, II, III estão incorretas Explicação: Há cinco padrões de criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton. O BUILDER é um Padrão de Criação. É um padrão cuja responsabilidade é a CONSTRUÇÃO O padrão Builder é um padrão de cuja intenção é a Construção, ou seja, são padrões cuja responsabilidade é a CONSTRUÇÃO O padrão Builder tenta minimizar a carga que os desenvolvedores tem ao ato de criar objetos dentro de um construtor. Isso é comum em desenvolvedores iniciantes. 12/10/2018 EPS http://simulado.estacio.br/alunos/ 2/4 3a Questão O padrão Builder é um Padrão de Criação GoF. Com relação aos seus objetivos podemos afirmar que: I- O padrão Builder é um padrão utilizado na instanciação de objetos complexos. II- O padrão Builder tem a função de tentar minimizar a carga que os desenvolvedores têm ao ato de criar objetos dentro de um construtor. III- O padrão Builder é bastante útil para guardar o estado de um objeto em determinados momentos. Est(á)ão correta(s) a(s) afirmativa(s): Somente o item II; Somente os itens I e II; Somente o item I; Somente os itens I e III; Somente os itens II e III; Explicação: O item III está errado porque ela se refere ao padrão Prototype. 4a Questão 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. Todas as afirmativas estão incorretas Apenas I e II estão corretas Apenas I está correta Apenas I e III estão corretas Todas as afirmativas estão corretas 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. 5a Questão Qual dos padrões GOF abaixo é mais indicado quando necessitamos criar objetos de uma determinada classe, os quais 12/10/2018 EPS http://simulado.estacio.br/alunos/ 3/4 só têm alguns poucos estados possíveis e é melhor copiá-los e aproveitar o seu estado atual do que criar um novo objeto no estado inicial. Decorator Prototype Singleton Builder Abstract Factory 6a Questão Qual padrão garante que uma classe tem somente uma instância e fornece um ponto global de acesso a mesma? Factory Method. Nenhuma das anteriores. Singleton. Builder. Abstract Factory. Explicação: Há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton. 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 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. Na linguagem Java os modificadores states e private devem garantir uma mesma instância para todos os objetos criados e evitar acesso público. 7a Questão (CESGRANRIO - 2010) Em um sistema de software para controlar pedidos para entrega em domicílio, deve haver uma funcionalidade que permita que o atendente solicite a repetição de um pedido anteriormente feito por um cliente. O gerente do restaurante informou que essa funcionalidade aumentaria a agilidade no atendimento aos clientes, visto que muitos deles tendem a fazer pedidos similares aos que já fizeram anteriormente. Ao usar essa funcionalidade, o atendente do restaurante seleciona um pedido cuja composição corresponde a produtos normalmente requisitados pelos clientes e solicita ao sistema a construção de um novo pedido igual ao selecionado. Esse novo pedido pode, então, ser alterado pelo atendente se o cliente solicitar a adição de novos produtos do cardápio, por exemplo. Portanto, a parte principal dessa funcionalidade corresponde a criar uma cópia de um pedido a partir de pedido preexistente. Na implementação dessa funcionalidade, seu desenvolvedor deve utilizar qual padrão de projeto do catálogo GoF (Gang of Four), dentre os listados abaixo? Abstract Factory. Prototype. Command. Factory Method. Builder. 12/10/2018 EPS http://simulado.estacio.br/alunos/ 4/4 8a Questão Consideram as afirmativa abaixo sobre o padrão protype I - Declara um método chamado clone na superclasse abstrata do modelo (Prototype). Em função desta declaração, cada classe concreta derivada deve ser capaz de gerar uma nova instância de si próprio. II - , Entre as aplicações para este padrão de projeto está a facilidade de instanciar classes em tempo de execução. III Quando as instancias de uma classe apresentam poucas combinações de estados, pode ser mais conveniente definir previamente um conjunto de protótipos e cloná-los, sempre que foi necessário. As afirmativas II, III estão corretas e a afirmativa I está errada. As afirmativas I, II, III estão incorretas As afirmativas estão todas corretas As afirmativas I, III, estão corretas e II errada As afirmativas I, II, estão corretas e a afirmativa III está errada. 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. A estrutura do Prototype cria um objeto novo, mas aproveitar o estado previamente existente em outro objeto. Conforme Gamma et al, 2000, Prototyoe especifica os tipos de objetos a serem criados usando uma instância-protótipo e cria novos objetos pela cópia desse protótipo. 12/10/2018 EPS http://simulado.estacio.br/alunos/ 1/5 PADRÕES DE PROJETO DE SOFTWARE 3a aula Lupa V ídeo P PT MP3 Exercício: CCT0763_EX_A3_201707127069_V1 12/10/2018 13:09:23 (Finalizada) Aluno(a): MICHEL IMPERIO 2018.3 EAD Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201707127069 1a Questão Imagine que em meu sistema eu tenha uma classe compra, que para fazer o pagamento, utiliza o método Billing, e que esse método espera algo que herde de uma interface IPagamento. Cartão de crédito é uma classe abstrata que herda de IPagamento. Boleto é uma classe que herda de IPagamento. Visa e master são as implementações reais que utilizávamos, até então, para fazer o Billing dependendo do cartão que o cliente utilizava, e a propósito, elas herdam de CartaodeCredito. Segue o diagrama: Porém, a loja decide que vai ter mais um tipo de cartão de crédito, terá o ¿Sorocred¿. O Analista logo pensa: ¿Tudo bem, é só eu herdar de CartaodeCredito, implementar a forma específica de Billinge pronto! ¿. 12/10/2018 EPS http://simulado.estacio.br/alunos/ 2/5 Só que vem a surpresa: o cliente tem a própria Dll de Billing, que não pode ser alterada, ou pior: a estrutura de classe de ¿Sorocred¿ foi desenhada da seguinte maneira: Com qual padrão GOF, você resolverá o problema? Strategy State Adapter Façade 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 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 Adpater é bastante utilizado para compatibilizar classes implementadas por programadores diferentes, ou desenvolvidas em momentos diferentes, ou ainda para unir classes com interfaces diferentes em uma estrutura hierárquica única, sem precisar implementar novamente todas as funcionalidades e interfaces da classe já existente. A idéia é criar uma nova classe (Adapter) com a interface padrão que se deseja para fazer a conexão com a classe já existente (Adapter) com interface diferente da estrutura de classes que se pretende utilizar no sistema. 2a Questão Construtores em Java definem uma maneira padrão de construir objetos. No entanto, depender de construtores para instanciar objetos pode nos levar a alguns problemas dos quais podemos citar, exceto: Objeto complexo pode necessitar da criação de objetos menores previamente, com certo controle difícil de implementar com construtores Não é preciso saber a classe concreta do objeto para criá-lo Usando diretamente os métodos construtores não há como limitar o número de instâncias criadas A aplicação cliente fica acoplada diretamente a uma implementação concreta para poder usar diretamente o construtor Cliente pode não ter ou não saber todos os dados necessários para instanciar um objeto através de construtores 12/10/2018 EPS http://simulado.estacio.br/alunos/ 3/5 3a Questão O padrão Adpater é bastante utilizado para compatibilizar classes implementas por programadores diferentes, ou desenvolvidas em momentos diferentes, ou ainda para unir classes com interfaces diferentes em uma estrututura hierarquica única, sem precisar implementar novamente todas as funcionalidades e interfaces da classe já existente, considere as afirmativas: I - A idéia é criar uma nova classe (Adapter) com a interface padrão que se deseja para fazer a conexão com a classe já existente (Adaptee) com interface diferente da estrutura de classes que se pretende utilizar no sistema. Ii - Além de reaproveitar totalmente a classe antiga sem precisar alterar o código e entender a complexa implementação realizada, mantém a uniformidade do seu projeto original. Iii cria uma hierarquia de classes diferentes categorias de objetos sem relação de herança. As afirmativas I, II, estão corretas e a afirmativa III está errada. As afirmativas II, III estão corretas e a afirmativa I está errada. As afirmativas I, III, estão corretas e II errada As afirmativas estão todas corretas As afirmativas I, II, III estão incorretas Explicação: O conceito do Adapter é converter 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. A ideia é fazer adaptação entre dois recursos. Devemos usar sempre que for necessário adaptar uma interface para um cliente Vejamos o exemplo da tomada. O plug é três pinos, e a tomada é de dois pinos, então eu tenho que ter uma classe adaptadora. 4a Questão Marque a alternativa que melhor descreve uma situação típica onde poderia ser utilizado o padrão de projeto Adapter? Um programador precisa de uma classe que possua um método para retornar a única instância existente da classe. Um programador precisar utilizar uma classe que possui interface diferente da classe existente na aplicação. Um programador precisa de um método que simplifique o acesso a uma hierarquia de classes. Um programador precisa ser avisado quando houver alterações no estado de um objeto. Um programador precisa utilizar uma classe que possui a mesma interface da classe existente na aplicação. 5a Questão Analise as afirmações abaixo: I. Desacopla uma abstração de sua implementação, de modo que as duas possam variar independentemente. II. Compõe objetos em estuturas de árvores que representam hieráquia todo parte. III. Fornece uma interface simples para uma coleção de classes. As afirrmações correspondem respectivamente a: Façade, Bridge, Composite Façade, Composite, Bridge Bridge, Composite, Façade Composite, Bridge, Façade Composite, Façade, Bridge Explicação: Essa resposta está correta porque eles correspondem aos Padrões Estruturais GoF, que 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. 12/10/2018 EPS http://simulado.estacio.br/alunos/ 4/5 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 objetivo dos Padrões Estruturais é definir caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e colaboração mutua. 6a Questão Um compositor musical deseja criar uma hierarquia de classes para representar a estrutura das suas notas musicais. Em primeiro lugar, definiu uma classe abstrata chamada Melodia, a seguir, criou duas classes derivadas, uma chamada Nota e outra chamada Partitura. Cada Nota musical representa o elemento mínimo de uma Melodia e cada Partitura é formada por uma ou mais notas. Marque a alternativa que representa o melhor padrão de projeto para modelar este problema. Façade Proxy Adapter Composite Bridge 7a Questão Escolha a opção que descreve o objetivo do ¿Composite¿: Compor objetos em estruturas de árvore para representar heranças de classes abstratas, que serão instanciadas. O Composite permite que clientes tratem objetos individuais e composições de objetos de maneira uniforme. Compor objetos em estruturas sequenciais para representar hierarquias de herança aplicada. O Composite permite que clientes tratem objetos individuais e composições de objetos de maneira uniforme. Compor objetos em estruturas de árvore para representar hierarquias todo-parte. Composite permite que clientes tratem objetos em grupo e não objetos de maneira uniforme. Criar instancias de objetos em estruturas que representam hierarquias de dependência de plataforma de implementação. O Composite permite que clientes tratem objetos distintos, e as composições, desses objetos de maneira parecidas. Compor objetos em estruturas de árvore para representar hierarquias todo-parte. O Composite permite que clientes tratem objetos individuais e composições de objetos de maneira uniforme. 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. 8a Questão Qualpadrã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? Nenhuma das anteriores. Builder. 12/10/2018 EPS http://simulado.estacio.br/alunos/ 5/5 Composite. Proxy. Flyweight. 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. 12/10/2018 EPS http://simulado.estacio.br/alunos/ 1/4 PADRÕES DE PROJETO DE SOFTWARE 3a aula Lupa V ídeo P PT MP3 Exercício: CCT0763_EX_A3_201707127069_V2 12/10/2018 13:10:35 (Finalizada) Aluno(a): MICHEL IMPERIO 2018.3 EAD Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201707127069 1a Questão O padrão Composite é um Padrão Estrutural GoF. Com relação aos seus objetivos podemos afirmar que: I- O padrão de projeto Composite permite anexar responsabilidades adicionais a um objeto (em caráter dinâmico) dinamicamente. II- O padrão Composite permite que seja encapsulado os detalhes (como se eu falasse com um aluno ou com vários alunos da mesma forma), o que permite uma programação muito mais leve. III- O padrão Composite permite que clientes tratem objetos individuais e composições de objetos de maneira uniforme. Est(á)ão correta(s) a(s) afirmativa(s): Somente os itens I e II; Somente o item II; Somente o item I; Somente os itens II e III; Somente os itens I e III; Explicação: O item I está errado porque ela se refere ao padrão Decorator. 2a Questão Dentre as opções apresentadas assinale qual o padrão é bastante utilizado para compatibilizar classes implementas por programadores diferentes, ou desenvolvidas em momentos diferentes, ou ainda para unir classes com interfaces diferentes em uma estrutura hierárquica única, sem precisar implementar novamente todas as funcionalidades e interfaces da classe já existente. Padrão Decorator Padrão Decorator 12/10/2018 EPS http://simulado.estacio.br/alunos/ 2/4 Padrão Flyweight Padrão Adapter Padrão Composite 3a Questão Qual o nome do padrão de projeto que pode ser utilizado para permitir que uma hierarquia de abstrações e suas diferentes implementações possam variar independentemente? Flyweight Façade Bridge Proxy Adapter 4a Questão Programadores se deparam muitas vezes com a situação onde é preciso acrescentar responsabilidades a objetos e não a classe. Uma alternativa é atribuir dinamicamente a um dado objeto. Este padrão é chamado de: Bridge protype Instance Decorator. Singleton Explicação: O padrão Decorator é um padrão de cuja intenção são as Extenções. O padrão Decorator anexa responsabilidades adicionais a um objeto (em caráter dinâmico) dinamicamente. Decorators oferecem uma alternativa flexível ao uso de herança para estender uma funcionalidade. 5a Questão Os Padrões de Projeto (GOF) que se apresentam com o formato de uma Lista Encadeada (estrutura de dados) quando são representados por um Diagrama de Objetos (UML) e se classificam, respectivamente, como Padrão de Projeto Estrutural e Padrão de Projeto Comportamental, são conhecidos como: Chain of Responsibility e Decorator Observer e Chain of Responsibility Observer e Decorator Decorator e Chain of Responsibility Decorator e Observer 6a Questão Qual padrão desacopla uma abstração de sua implementação de modo que as duas possam variar independentemente? Proxy. Façade. 12/10/2018 EPS http://simulado.estacio.br/alunos/ 3/4 Decorator. Bridge. Nenhuma das anteriores. 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. 7a Questão O padrão Bridger é um Padrão Estrutural GoF. Quando devemos usar esse padrão? Assinale a opção INCORRAETA. Quando alterações na implementação não puderem afetar clientes; Quando for necessário evitar uma ligação permanente entre a interface e implementação; Quando implementações são compartilhadas entre objetos desconhecidos do cliente; Quando houver uma interface que permita a implementação estática; Quando tanto abstrações como implementações precisarem ser capazes de suportar extensão através de herança; Explicação: Essa afirmativa está INCORRETA, porque ela se refere ao padrão Adapter. 8a Questão (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? Observer Composite Strategy Decorator Chain of Responsability 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. 12/10/2018 EPS http://simulado.estacio.br/alunos/ 4/4 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. 12/10/2018 EPS http://simulado.estacio.br/alunos/ 1/4 PADRÕES DE PROJETO DE SOFTWARE 4a aula Lupa V ídeo P PT MP3 Exercício: CCT0763_EX_A4_201707127069_V1 12/10/2018 13:11:54 (Finalizada) Aluno(a): MICHEL IMPERIO 2018.3 EAD Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201707127069 1a Questão Qual a vantagem do padrão Proxyr? Assinale a opção INCORRETA. Permite o tratamento inteligente dos dados no cliente; Consigo atribuir um certo grau de inteligência, o que possibilitaria um tratamento inteligente dos dados; Permite, sempre que for desejável, criar uma interface para um conjunto de objetos com o objetivo de facilitar o uso da aplicação; Permite maior eficiência com caching no cliente; Tem transparência, ou seja, mesma sintaxe usada na comunicação entre o cliente e sujeito real é usada no proxy; Explicação: Essa afirmativa está incorreta, porque ela se refere ao padrão Façade.2a Questão Quanto às vantagens, assinale a opção INCORRETA sobre o padrão Façade. Quando o tamanho do conjunto de objetos for significativamente menor que a quantidade de vezes em que eles são usados na aplicação; O cliente não precisa conhecer todas as regras de negócio envolvidas com a concessão de um empréstimo; Permite que objetos individuais cuidem de uma única tarefa, deixando que a fachada se encarregue de divulgar as suas operações; Sempre que for desejável, cria uma interface para um conjunto de objetos com o objetivo de facilitar o uso da aplicação; Havendo mudança em alguma regra de negócio, basta realizar as alterações necessárias na classe Façade; 12/10/2018 EPS http://simulado.estacio.br/alunos/ 2/4 Explicação: Essa afirmativa está incorreta, porque ela se refere ao padrão Flyweight. 3a Questão Qual o objetivo do padrão Proxyr? Assinale a opção CORRETA. Proxy faz uma fachada única para todas as fachadas; Proxy define uma interface de nível mais elevado que torna o subsistema mais fácil de usar; Proxy prove um substituto ou ponto através do qual um objeto possa controlar o acesso a outro; Proxy expurga o código e delega a uma classe, a terceiros; Proxy oferece uma interface única para um conjunto de interfaces de um subsistema; Explicação: Essa afirmativa está correta, porque as outras se referem ao padrão Façade. 4a Questão (CESGRANRIO - 2009) O presidente de uma empresa determinou que fosse disponibilizado um sistema de vendas na Internet. No entanto, o software de controle de estoque que deve ser acessado pela aplicação de vendas é muito antigo e provê uma API (Application Programming Interface) de uso muito complicado. Para que os desenvolvedores possam acessar uma interface mais simples, o arquiteto do sistema pode determinar o uso do padrão de projeto Façade. Observer. Prototype. Decorator. Flyweight. 5a Questão (FCC - 2011) No contexto dos padrões de projeto: I. Oferecer uma interface simples para uma coleção de classes. II. Desacoplar uma abstração de sua implementação para que ambas possam variar independentemente. Correspondem respectivamente a Bridge e Adapter. Adapter e Façade. Façade e Composite. Composite e Bridge. Façade e Bridge. 6a Questão 12/10/2018 EPS http://simulado.estacio.br/alunos/ 3/4 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 - 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. Proxy Flyweight Façade Coesão Acoplamento 7a Questão Qual padrão fornece uma interface unificada para um conjunto de interfaces em um subsistema e define uma interface de nível mais alto que torna o subsistema mais fácil de ser usado? Adapter. Nenhuma das anteriores. Composite. Façade. Decorator. 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 Façade é um padrão Fachada, ou seja, faz uma fachada única para todas as fachadas. Define uma interface a um nível mais elevado, para tornar um subsistema mais fácil de usar. Oferece uma interface única para um conjunto de interfaces de um subsistema. Façade define uma interface de nível mais elevado que torna o subsistema mais fácil de usar. 8a Questão Uma empresa tem, dentre outros, um sistema de vendas e outro de controle de estoque. Supondo que o sistema de vendas necessita utilizar funcionalidades do sistema de controle de estoque, qual padrão deve ser utilizado para que estas funcionalidades sejam disponibilizadas? Observer Singleton Decorator Fachada Fábrica Abstrata 12/10/2018 EPS http://simulado.estacio.br/alunos/ 4/4 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 Façade (fachada) é um padrão Fachada, ou seja, faz uma fachada única para todas as fachadas, ou seja, Fornece uma interface unificada para um conjunto de objetos que constituem um subsistema.define uma interface a um nível mais elevado, para tornar um subsistema mais fácil de usar. Oferece uma interface única para um conjunto de interfaces de um subsistema. Façade define uma interface de nível mais elevado que torna o subsistema mais fácil de usar. 12/10/2018 EPS http://simulado.estacio.br/alunos/ 1/4 PADRÕES DE PROJETO DE SOFTWARE 4a aula Lupa V ídeo P PT MP3 Exercício: CCT0763_EX_A4_201707127069_V2 12/10/2018 13:14:55 (Finalizada) Aluno(a): MICHEL IMPERIO 2018.3 EAD Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201707127069 1a Questão Quanto aos padrões de projeto orientados a objetos, assinale a opção correta. O Adapter pode ser usado quando objetos se comunicam de forma definida, mas complexa; as interdependências entre os objetos são difíceis de entender; o reúso está sendo dificultado, pois um objeto se comunica com vários outros. Pode-se usar o Builder quando o comportamento de um objeto muda em tempo de execução e depende do seu estado; as operações têm múltiplos enunciados condicionais que dependem do estado do objeto. O Façade pode ser usado quando se deseja prover uma interface simples para um subsistema complexo; existem muitas dependências entre clientes e as classes que implementam uma abstração. Pode-se usar o Decorator quando um sistema deve ser configurado com uma entre várias famílias de produtos; uma família de produtos relacionados foi projetada para ser usada em conjunto. O padrão Abstract Factory visa possibilitar que os passos para se criar um objeto complexo independam das partes que compõem esse objeto. Ao encapsular a construção de objetos complexos, esse padrão contribui na modularização do sistema. Explicação: Essa opção está correta porque o padrão Façade (fachada) é um padrão Fachada, ou seja, faz uma fachada única para todas as fachadas, ou seja, Fornece uma interface unificada para um conjunto de objetos que constituem um subsistema.define uma interface a um nível mais elevado, para tornar um subsistema mais fácil de usar. Oferece uma interface única para um conjunto de interfaces de um subsistema. Façade define uma interface de nível mais elevado que torna o subsistema mais fácil de usar. Define uma interface de mais alto nível que torna o subsistema mais fácil de usar. 2a Questão Que padrão estrutural provê um ponto de atendimento para que outro objeto possa controlar o acesso aoprimeiro: 12/10/2018 EPS http://simulado.estacio.br/alunos/ 2/4 Decorator Adapter Facade Proxy Flyweight 3a Questão O objetivo do padrão Flyweight é diminuir o consumo de memória, porém deve ser utilizado com cautela; Gamma et al (2000). São várias as recomendações para seu uso. Analise as alternativas abaixo e marque a alternativa que NÃO se refere a uma recomendação para uso do padrão Flyweight. Uma aplicação utiliza um grande número de objetos. Muitos grupos de objetos podem ser substituídos por relativamente poucos objetos compartilhados, uma vez que estados extrínsecos são removidos. O cliente não precisar conhecer as regras do negócio. A aplicação não depende da identidade do objeto. Os custos de armazenamento são altos por causa da grande quantidade de objetos. 4a Questão Qual padrão usa compartilhamento para suportar eficientemente grandes quantidades de objetos de granularidade fina? Nenhuma das anteriores. Flyweight. Façade. Bridge. Composite. 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). 5a Questão Os padrões de projetos, quando aplicados ao desenvolvimento de aplicações, fornecem meios de descrever soluções comuns para problemas comuns, resultando em redução de tempo gasto com o desenvolvimento e melhoria da qualidade da aplicação. 12/10/2018 EPS http://simulado.estacio.br/alunos/ 3/4 (FCC - 2009) Analise: I. É o responsável pela especificação dos tipos de objetos a serem criados usando uma "instância" prototípica e pela criação de novos objetos copiando este protótipo. II. Define uma interface de nível mais alto que torna o subsistema mais fácil de usar e fornece uma interface única para um subsistema com diversas interfaces; compõe o grupo de padrões estruturais. III. Integrante do grupo de padrões comportamentais, ele provê uma forma de acessar sequencialmente os elementos de um agregado de objetos, sem expor a representação interna desse agregado. IV. As consequências do uso deste padrão é que o encapsulamento é mantido, já que objetos usam sua própria informação para cumprir responsabilidades; leva ao fraco acoplamento entre objetos e à alta coesão, uma vez que objetos fazem tudo que é relacionado à sua própria informação. As afirmações correspondem, respectivamente, aos padrões Controller, Expert, Singleton e Prototype. Command, Iterator, Singleton e Expert. Command, Singleton, Controller e Façade. Adapter, Façade, Command e Iterator. Prototype, Façade, Iterator e Expert. 6a Questão Qual o padrão fornece um substituto ou marcador para controlar o acesso a um objeto? Proxy. Adapter. Façade. Nenhuma das anteriores. Bridge. 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 Proxy (procurador) controla o acesso a um objeto através de outro objeto, que atua como seu substituto, ou como um envoltório. 7a Questão Que padrão estrutural usa compartilhamento para suportar um grande número de pequenos objetos de forma eficiente. 12/10/2018 EPS http://simulado.estacio.br/alunos/ 4/4 Facade Flyweight Composite Decorator Bridge 8a Questão Qual padrão de projeto tem como propósito prover interface unificada para conjunto de interfaces em um subsistema, definindo uma interface de alto-nível. Factory Method Singleton Decorator Facade Strategy Explicação: O Padrão Façade é do tipo estrutural . É usado quando um sistema é muito complexo ou difícil de entender, já que possui um grande número de classes independentes ou se trechos de código fonte estão indisponíveis. Este padrão esconde as complexidades de um sistema maior e provê uma interface simplificada ao cliente. Tipicamente envolve uma única classe responsável por englobar uma série de membros requeridos pelo cliente. Estes membros acessam o sistema em nome do Façade e escondem os detalhes de implementação. 12/10/2018 EPS http://simulado.estacio.br/alunos/ 1/4 PADRÕES DE PROJETO DE SOFTWARE 5a aula Lupa V ídeo P PT MP3 Exercício: CCT0763_EX_A5_201707127069_V1 12/10/2018 13:14:00 (Finalizada) Aluno(a): MICHEL IMPERIO 2018.3 EAD Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201707127069 1a Questão O padrão Classe Handler é um Padrão Comportamental GoF. Quais os benefícios do padrão de projeto Chain of Responsability com a Classe Hanter? I- O acoplamento é reduzido, pois, o padrão libera um objeto de ter que conhecer qual o outro objeto que trata de uma solicitação; II- 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; III- Flexibilidade na atribuição de responsabilidades, ou seja, pode-se mudar a cadeia de objetos em tempo de execução, adicionando ou removendo objetos; IV- A receptação não é garantida, isto é, no momento que a requisição não tem um receptor explícito, não há garantias que ela será tratada; Est(á)ão correta(s) a(s) afirmativa(s): Somente os itens I, II e III; Somente os itens II, III e IV; Somente os itens III e IV; Somente os itens II e III; Somente os itens I e II; Explicação: O item IV é uma deficiência, e não uma vantagem. 2a Questão Analise as seguintes sentenças que descreve as características de um padrão de projeto. Em seguida marque a alternativa que corresponde o padrão de projeto correspondente. a. Sua aplicação é recomendada naquelas situações em que há necessidade de interpretar uma linguagem qualquer e, 12/10/2018 EPS http://simulado.estacio.br/alunos/ 2/4 ao mesmo tempo, quando se quer representar sentenças da linguagem, como árvores abstratas sintáticas. b. Descreve como projetar um conjunto de classes para representar e interpretar uma gramática para linguagens simples. c. A estrutura do padrão sugere que a modelagem do problema seja realizada através de uma gramática recursiva. Adapter Composite Façade Interpreter Chain Responsability 3a Questão (CESGRANRIO - 2008) Muitos frameworks utilizam um padrão de projeto (design pattern) que se baseia no princípio de projeto "Não nos chame, nós iremos chamar você" (O Princípio de Hollywood: "Don't call us, we'll call you."). Uma classe da aplicação herda de uma classe do framework que possui métodos abstratos, os quais são chamados em outros métodos concretos. A classe da aplicação sobrepõe os métodos abstratos da classe do framework com métodos concretos, permitindo que os métodos concretos da classe do framework sejam chamados. O padrão de projeto (design pattern) em questão chama-se Template Method.Strategy. Decorator. Singleton. Abstract Factory. 4a Questão A implementação do padrão de projeto Chain of Responsability requer que cada objeto receptor de uma determinada solicitação tenha uma lógica para descrever os tipos de solicitação que é capaz de processar e como passar adiante aquelas que requeiram processamento por outros receptores. A delegação das solicitações pode formar uma árvore de recursão, com um mecanismo especial para inserção de novos receptores no final da cadeia existente. Marque a alternativa que NÃO identifica uma vantagem do padrão de projeto Chain of Responsability. Flexibilidade na atribuição de responsabilidades, ou seja, pode-se mudar a cadeia de objetos em tempo de execução, adicionando ou removendo objetos. Remetente e receptor não têm conhecimento explícito um do outro. As partes invariantes, conforme a situação, contexto ou problema a ser resolvido, podem ser redefinidas em classes abstratas gerando interconexão entre os objetos. 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; Padrão libera um objeto de ter que conhecer qual o outro objeto que trata de uma solicitação. 5a Questão A classe Handler é uma classe abstrata, portanto, não pode ser instanciada diretamente. Assim, para montar uma cadeia de objetos é necessário especializá-la em que tipo de classes? Assinale dentre as opções abaixo aquela que está correta. alto acoplamento; baixa coesão. concretas; Generalizada; com método púbico; 12/10/2018 EPS http://simulado.estacio.br/alunos/ 3/4 6a Questão Dentre as opções colocadas abaixo, assinale aquela que corresponde ao padrão de projeto que requer para sua implementação, que cada objeto receptor de uma determinada solicitação tenha uma lógica para descrever os tipos de solicitação que é capaz de processar e como passar adiante aquelas que requeiram processamento por outros receptores Iterator; Template Method; Mediator; Chain of Responsability ; classe Handler; 7a Questão O padrão GoF Comportamental utilizado: Mediator Interpreter Template Method Iterator Observer Explicação: Há 11 Padrões Comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method e Visitor. O padrão Observer define uma dependência um para muitos, que será necessária para fazer a relação entre um conjunto de dados e várias representações, além de permitir que, quando um objeto mude de estado, todos os dependentes sejam notificados. 8a Questão Qual o objetivo do padrão Template Method? Assinale a opção CORRETA. Definir o esqueleto de um algoritmo dentro de uma operação, deixando alguns passos a serem preenchidos pelas subclasses; Descreve como projetar um conjunto de classes para representar e interpretar uma gramática para linguagens simples; É recomendada naquelas situações em que há necessidade de interpretar uma linguagem 12/10/2018 EPS http://simulado.estacio.br/alunos/ 4/4 qualquer e ao mesmo tempo quando se quer representar sentenças da linguagem como árvores abstratas sintáticas; Delega responsabilidades e escreve padrões não só voltados para classe, mas também no que tange a comunicação entre essas classes; Dada uma linguagem, definir uma representação para sua gramática junto com um interpretador que usa a representação para interpretar sentenças na linguagem; Explicação: Essa afirmativa está correta, porque as outras se referem ao padrão Interpreter. Além disso, Template Method permite que suas subclasses redefinam certos passos de um algoritmo sem mudar sua estrutura. 12/10/2018 EPS http://simulado.estacio.br/alunos/ 1/4 PADRÕES DE PROJETO DE SOFTWARE 5a aula Lupa V ídeo P PT MP3 Exercício: CCT0763_EX_A5_201707127069_V2 12/10/2018 13:15:37 (Finalizada) Aluno(a): MICHEL IMPERIO 2018.3 EAD Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201707127069 1a Questão (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? Interpreter. Decorator. Observer. Template Method. Singleton. 2a Questão Aponte dentre as opções abaixo aquela que corresponde ao padrão que apresenta como uma desvantagens, a obrigatoriedade da definição de ao menos, uma classe para cada regra da gramática, logo, gramáticas com muitas regras são difíceis de manter e administrar. Proxy; Interpreter; Façade; Template Method; Chain of Responsability; 3a Questão (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 12/10/2018 EPS http://simulado.estacio.br/alunos/ 2/4 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? Observer. Decorator. Interpreter. Template Method. Singleton. 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 Template Method define o esqueleto de um algoritmo dentro de uma operação, deixando alguns passos a serem preenchidos pelas subclasses. Template Method permite que suas subclasses redefinam certos passos de um algoritmo sem mudar sua estrutura. 4a Questão Aponte dentre as opções colocadas aquela que corresponde a estrutura do padrão que sugere que a modelagem do problema seja realizada através de uma gramática recursiva.. Iterator Mediator Interpreter; Template Method; Chain of Responsability, 5a Questão Os padrões de comportamento correspondem a: Adapter, Bridge, Composite, Decorator, Façade, flyweight e proxy Todas as alternativas estão erradas Chain of Responsability, Command, Interpreter, Iterador, Mediator, Memento, Observer, State, Strategy, Template Method e Visitor Abstract Factory, Builder, Factory Method, Prototype e Singleton. Iterador, Mediator, Bridge, Composite, Decorator, Façade, Flyweight e Proxy 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.6a Questão 12/10/2018 EPS http://simulado.estacio.br/alunos/ 3/4 Qual padrão evita o acoplamento do remetente de uma solicitação ao receptor e encadeia os objetos receptores passando a solicitação ao longo da cadeia até que um objeto a trate? Observer. Mediator. Chain of Responsability. Nenhuma das anteriores. Command. 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 Chain of Responsability, compõem objetos em cascata para, através dela, delegar uma requisição até que um objeto a sirva. 7a Questão Qual padrão se define uma dependência um-para-muitos entre objetos de forma que quando o objeto muda de estado todos os seus dependentes são notificados e atualizados automaticamente? Chain of Responsability. State. Nenhuma das anteriores. Memento. Observer. 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 Observer define uma dependência um para muitos, que será necessária para fazer a relação entre um conjunto de dados e várias representações, além de permitir que, quando um objeto mude de estado, todos os dependentes sejam notificados. 8a Questão Dentre as opções apresentadas, assinale aquela que corresponde ao padrão de projeto que sugere a implementação de um algoritmo que faz uso de diferentes métodos, diferenciando das soluções convencionais por deixar o esqueleto deste algoritmo fixo em uma superclasse abstrata. Interpreter; Flyweight Template Method Proxy; Chain of Responsability, 12/10/2018 EPS http://simulado.estacio.br/alunos/ 4/4
Compartilhar