Prévia do material em texto
PADRÕES DE PROJETO DE SOFTWARE Lupa Fechar Exercício: CCT0265_EX_A1_201201836794 Matrícula: 201201836794 Aluno(a): WAGNER HELENO DA SILVA Data: 09/03/2015 14:50:23 (Finalizada) 1a Questão (Ref.: 201202028223) Fórum de Dúvidas (0) Saiba (0) 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 Padroes sempre levam a uma arquitetura menor principalmente quando se usa tecnologia de objetos Padrões são de uso obrigatório e eliminam os erros cometidos na fase programação. 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 Padrões causam falta de criatividade nos desenvolvedores e esta perda compromete a qualidade 2a Questão (Ref.: 201202028231) Fórum de Dúvidas (0) Saiba (0) 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 é uma forma obrigatória de programar com objetos Padrões causam falta de criatividade nos desenvolvedores e esta perda compromete a qualidade. Padrões são de uso obrigatório e eliminam os erros cometidos na fase programação. Padrões sempre levam a uma arquitetura menor principalmente quando se usa tecnologia de objetos Padrões são boas práticas e proporcionam garantia de qualidade na elaboração do código. 3a Questão (Ref.: 201202022175) Fórum de Dúvidas (0) Saiba (0) Podemos afirmar que padrões de projeto de software: dificultam de alguma foram a escolha de alternativas de projeto que tornam um sistema reutilizável, aumentando as alternativas que a comprometam. invariavelmente pioram a documentação e a manutenção dos sistemas. difcultam a reutilização de projetos e arquiteturas bem sucedidas. permitem descrever fragmentos de projeto e reusar idéias de projeto, ajudando desenvolvedores a se nivelar com a experiência de outros. não influenciam nos procedimentos, regras e práticas relativas às técnicas orientadas a objetos. 4a Questão (Ref.: 201202028238) Fórum de Dúvidas (0) Saiba (0) Sobre padrões de projeto escolha a opção incorreta. 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. Um padrão de projeto define uma estrutura que obrigatoriamente não poderá ser alterada pelo desenvolvedor 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. 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 5a Questão (Ref.: 201202039449) Fórum de Dúvidas (0) Saiba (0) (FCC-2011) Os design patterns 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. 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. 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 aplicações propriamente ditas, normalmente construídas pela integração de diversos frameworks. 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. 6a Questão (Ref.: 201202028248) Fórum de Dúvidas (0) Saiba (0) Uma das categoria que tradicionalmente se classificam os padrões de projeto :Padrões Estruturais cujo objetivo é: Define como implantar um novo método em uma classe. Defende 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 a forma de organização dos objetos e sua colaboração mutua Fechar PADRÕES DE PROJETO DE SOFTWARE Lupa Fechar Exercício: CCT0265_EX_A2_201201836794 Matrícula: 201201836794 Aluno(a): WAGNER HELENO DA SILVA Data: 19/06/2015 12:43:46 (Finalizada) 1a Questão (Ref.: 201201998253) Fórum de Dúvidas (0) Saiba (0) Um dos princípios do padrão de arquitetura MVC é a separação da lógica da apresentação do modelo. PORQUE É, muitas vezes, mais prático manter a visão e o controlador unificados, inclusive, por demandas da tecnologia. Analisando-se as afirmações acima, conclui-se que ... . as duas afirmações são verdadeiras, e a segunda não justifica a primeira. a primeira afirmação é verdadeira, e a segunda é falsa. as duas afirmações são verdadeiras, e a segunda justifica a primeira. a primeira afirmação é falsa, e a segunda é verdadeira. As duas afirmações são falsas 2a Questão (Ref.: 201202028254) Fórum de Dúvidas (0) Saiba (0) considerando a classe de projetos GoF assinalem a opção cujos padrões de projeto estão todos classificados como Comportamentais Command,- bridge, - Iterator, - Mediator, - Observer, State, Strategy Command,- bridge, - Iterator, - Mediator, - composite - State, Strategy Command,- Interpreter, - Iterator, - Mediator, - Observer, State, Strategy Command,- Interpreter, - Iterator, - Mediator, - composite , State, Strategy Command,- bridge, - Iterator, - Mediator, bridge, State, Strategy 3a Questão (Ref.: 201202028258) Fórum de Dúvidas (0) Saiba (0) Assinale a afirmativa correta sobre o padrão Builder: Deve-se é embutir no construtor da própria classe a lógica para criação de um objeto ou ainda distribuir a lógica de criação em vários métodos adicionais. é uma abordagem que não facilita a criação de objetos com diferentes configurações e representações, tornando o código dependente a complexidade das classes relacionadas Umdos principais objetivos do padrão Builder é separar o algoritmo de criação de um objeto complexo tanto da especificação, quanto das partes que o compõem. A legibilidade da solução final, ou seja, para entender como um objeto é criado e sob quais condições, fica comprometida Deve-se é separar no construtor da própria classe a lógica para criação de um objeto e concentrar a lógica de criação em uma hierarquia de herança. 4a Questão (Ref.: 201202028250) Fórum de Dúvidas (0) Saiba (0) 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 ; Factory Method ; Decorator - Singleton Abstractly factory ; Builder ; Factory Method ; Protype - Singleton Abstractly factory ; Bridge ; Factory Method ; Protype ; Singleton Command ; Builder ; Factory Method ; Protype - Singleton Abstractly factory ; Builder ; Composite ; Protype - Singleton 5a Questão (Ref.: 201202028255) Fórum de Dúvidas (0) Saiba (0) 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 I, II, III estão incorretas As afirmativas estão todas corretas 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 6a Questão (Ref.: 201202028259) Fórum de Dúvidas (0) Saiba (0) 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 I, III, estão corretas e II errada As afirmativas II, III estão corretas e a afirmativa I está errada. As afirmativas estão todas corretas As afirmativas I, II, III estão incorretas As afirmativas I, II, estão corretas e a afirmativa III está errada. Fechar PADRÕES DE PROJETO DE SOFTWARE Lupa Fechar Exercício: CCT0265_EX_A3_201201836794 Matrícula: 201201836794 Aluno(a): WAGNER HELENO DA SILVA Data: 30/06/2015 00:25:22 (Finalizada) 1a Questão (Ref.: 201202028264) Fórum de Dúvidas (0) Saiba (0) 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: protype Singleton Decorator. Bridge Instance 2a Questão (Ref.: 201202610979) Fórum de Dúvidas (0) Saiba (0) 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 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. Um programador precisa de um método que simplifique o acesso a uma hierarquia de classes. 3a Questão (Ref.: 201202595849) Fórum de Dúvidas (0) Saiba (0) Observe a figura abaixo e escolha dentre as opções o padrão GOF para resolver o problema com a estrutura apresentada. GRASP Observer JEE Chain of Responsability Composite 4a Questão (Ref.: 201202610987) Fórum de Dúvidas (0) Saiba (0) 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. Adapter Composite Bridge Façade Proxy 5a Questão (Ref.: 201202595847) Fórum de Dúvidas (0) Saiba (0) Observe a figura abaixo e escolha dentre as opções o padrão GOF para resolver o problema com a estrutura apresentada. Composite Proxy GOF Singleton Grasp 6a Questão (Ref.: 201202039511) Fórum de Dúvidas (0) Saiba (0) (CESGRANRIO - 2009) Ao consultar informações a respeito dos padrões de projeto Adapter e Bridge, um Analista de Sistemas identificou uma afirmativa INCORRETA. Assinale-a. Ambos promovem a flexibilidade ao fornecer um nível de endereçamento indireto para outro objeto. O Bridge estabelece uma ponte entre uma abstração e suas possíveis implementações. O foco do Adapter é a solução de incompatibilidades entre duas interfaces existentes. Ambos são padrões estruturais que possuem alguns atributos em comum. O Adapter é inferior ao Bridge porque não evita a replicação de código. Fechar PADRÕES DE PROJETO DE SOFTWARE Lupa Fechar Exercício: CCT0265_EX_A4_201201836794 Matrícula: 201201836794 Aluno(a): WAGNER HELENO DA SILVA Data: 19/06/2015 13:03:52 (Finalizada) 1a Questão (Ref.: 201202027791) Fórum de Dúvidas (0) Saiba (0) 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ões de 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. Facade. Builder. Mediator. Factory Method. Singleton. 2a Questão (Ref.: 201202027819) Fórum de Dúvidas (0) Saiba (0) Dentre as alternativas abaixo identifique a que NÃO define uma situação em que deve ser utilizado o padrão Factory Method? Quando uma classe quer que suas subclasses especifiquem os objetos criados. Quando uma classe (o criador) não pode antecipar a classe dos objetos que deve criar. Quando classes delegam responsabilidade para uma entre várias subclasses de apoio. Quando o algoritmo de criação de um objeto deve serindependente das suas partes constituintes e da maneira como ele é "montado". Quando se quer localizar num ponto único a conhecimento de qual subclasse está sendo usada. 3a Questão (Ref.: 201202027809) Fórum de Dúvidas (0) Saiba (0) 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ões de 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. SINGLETON. FACADE. FACTORY METHOD. MEDIATOR. BUILDER. 4a Questão (Ref.: 201202035777) Fórum de Dúvidas (0) Saiba (0) Podemos afirmar que os Padrões Comportamentais da família GoF: Diminuem a responsabilidade do desenvolvedor em modelar o sistema e adequar as rotinas necessárias à documentação dos processos Subutilizam as rotinas de tratamento de erros, em virtude da depuração de código fonte na fase de levantamento das necessidades junto aos usuários 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 Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e colaboração mútua São projetados para organizar, gerenciar e combinar diferentes comportamentos 5a Questão (Ref.: 201202028266) Fórum de Dúvidas (0) Saiba (0) 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, III estão incorretas 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 I, II, estão corretas e a afirmativa III está errada. As afirmativas estão todas corretas 6a Questão (Ref.: 201202028265) Fórum de Dúvidas (0) Saiba (0) sobre o padrão Composite podemos afirmar: I ¿ É utilizado quando se pretende representar hierarquias partes- todo (ou todo-parte) de objetos, ou ainda, quando se pretende modelar relacionamento de agregação. Ii - o cliente poderá acessar objetos compostos ou não de maneira uniforme, pois irá se relacionar com a classe abstrata III ¿ Um processamento pode- ser realizado diretamente por uma superclasse Componente, quando se trata de uma composição, e o processamento parcial é feito pela classe filha, montando todas as partes que compõem o objeto. As afirmativas estão todas corretas 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 I, II, III estão incorretas As afirmativas I, II, estão corretas e a afirmativa III está errada. Fechar PADRÕES DE PROJETO DE SOFTWARE Lupa Fechar Exercício: CCT0265_EX_A5_201201836794 Matrícula: 201201836794 Aluno(a): WAGNER HELENO DA SILVA Data: 19/06/2015 13:19:22 (Finalizada) 1a Questão (Ref.: 201202039496) Fórum de Dúvidas (0) Saiba (0) Na UML, o padrão Singleton (GoF) pode ser visto como na classe abaixo: Sobre o padrão de projeto Singleton, I - o número 1 no canto superior da classe pode ser utilizado opcionalmente para indicar que esta classe terá apenas uma única instância. II - para se implementar o padrão Singleton na classe acima, esta deverá possuir um método construtor ServicesFactory() privado. III - caso uma subclasse estenda a classe ServicesFactory através de herança, o método getInstance() deverá ser sobrescrito (override) para construir a subclasse. IV - o método getInstance() deverá ser obrigatoriamente declarado como um método estático (static). Assinale a alternativa que indica assertivas CORRETAS: I - II - IV II - III - IV I - II - III I - II - III - IV I - III - IV Gabarito Comentado 2a Questão (Ref.: 201202028269) Fórum de Dúvidas (0) Saiba (0) Entre as vantagens do padrão Interpreter podem-se citar: I - facilidade para mudar e estender a gramática, pois, o padrão utiliza classes para representar as regras gramaticais. I i - Pode-se usar herança para mudar ou estender a gramática, assim como expressões existentes podem ser modificadas incrementalmente e novas expressões podem ser criadas a partir das existentes; Iii - a implementação da gramática é mais fácil, pois, classes que definem os nós folhas da árvore tem implementações similares. Por outro lado, uma das desvantagens é que o padrão Interpreter define, ao menos, uma classe para cada regra da gramática, logo, gramáticas com muitas regras são difíceis de manter e administrar. As afirmativas estão todas corretas As afirmativas II, III estão corretas e a afirmativa I está errada. As afirmativas I, II, III estão incorretas As afirmativas I, III, estão corretas e II errada As afirmativas I, II, estão corretas e a afirmativa III está errada. 3a Questão (Ref.: 201202600016) Fórum de Dúvidas (0) Saiba (0) O padrão de projeto Intepreter descreve como projetar um conjunto de classes para representar e interpretar uma gramática para linguagens simples.: I - Sua aplicação é recomenda naquelas situações em que há necessidade de interpretar uma linguagem qualquer e, ao mesmo tempo, quando se quer representar sentenças da linguagem, como árvores abstratas sintáticas. II - É importante destacar que o termo "linguagem", na definição desse padrão, é bastante ampla, não estando restrita apenas a linguagens de III - . A estrutura do padrão Interpreter sugere uma modelagem realizada através de uma gramática mapeada em uma arvore hierárquica em que cada cada regra gramatical é um nível na arvore, e pode ser usada para interpretar as sentenças varrendo toda a árvore e finalização do problema. As afirmativas II, III estão corretas e a afirmativa I está errada. As afirmativas estão todas corretas As afirmativas I, II, III estão incorretas As afirmativas I, II, estão corretas e a afirmativa III está errada. As afirmativas I, III, estão corretas e II errada 4a Questão (Ref.: 201202039508) Fórum de Dúvidas (0) Saiba (0) (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 gerentedo 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? Factory Method. Abstract Factory. Prototype. Builder. Command. 5a Questão (Ref.: 201202039516) Fórum de Dúvidas (0) Saiba (0) (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? Bridge. Memento. Visitor. Iterator. Singleton. 6a Questão (Ref.: 201202027850) Fórum de Dúvidas (0) Saiba (0) Baseando-se nas necessidades apresentadas do lado direito do quadro abaixo, relacione-as ao padrão adequado a utilização e, em seguida marque a alternativa que corresponde a sequencia numerada correspondente. 2 - 3 - 4 - 1 4 - 2 - 1 - 3 3 - 4 - 1 - 2 4 - 1 - 2 - 3 4 - 3 - 1 - 2 Fechar PADRÕES DE PROJETO DE SOFTWARE Lupa Fechar Exercício: CCT0265_EX_A6_201201836794 Matrícula: 201201836794 Aluno(a): WAGNER HELENO DA SILVA Data: 19/06/2015 13:37:19 (Finalizada) 1a Questão (Ref.: 201202036141) Fórum de Dúvidas (0) Saiba (0) Iterator :Fornecer uma maneira de acessar seqüencialmente os elementos de um objeto agregado sem expor sua implementação. (Gamma et al., 2000). Sobre este padrão de projetos podemos afirma com certeza: 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 Oferece uma forma de percorrer este tipo de objeto agregado sem conhecer seus detalhes de implementação. tem uma grande facilidade de mudança de comportamento, pode-se alterar seu funcionamento sem que seja necessário nenhuma mudança nas demais classes envolvidas, desde que envolvam coleções e matrizes. É 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. 2a Questão (Ref.: 201202036139) Fórum de Dúvidas (0) Saiba (0) Command : Encapsula uma solicitação como um objeto, permitindo a parametrização de clientes com diferentes solicitações, o enfileiramento e o registro de solicitações e o suporte a operações que possam ser desfeitas. (Gamma et al., 2000). Sobre ele podemos afirmar com toda a certeza: Os métodos, nesta abordagem devem ser padronizados e hierarquizados de forma que a implementação trabalhe novos objetos. esta abordagem é que o objeto que está realizando a chamada do método precisa conhecer com detalhes sobre seu funcionamento. O objetivo do padrão de projeto Command é encapsular chamadas de métodos. Este padrão de projeto oferece pouca flexibilidade na arquitetura do sistema, uma vez que não permite adição de novas funcionalidades Nesta abordagem o objeto que está realizando a chamada do método precisa conhecer com detalhes a implementação em relação asparente ao local, tempo e ao objeto que vai realizar uma determinada tarefa 3a Questão (Ref.: 201202036143) Fórum de Dúvidas (0) Saiba (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: tem como objetivo criar um meio de armazenar informações sobre um objeto, permitindo acessar essas informações tanto para salvar o estado de um objeto específico, como para recuperar, sempre que for necessário. É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais objetos, mas não deve ser usado quando associado a percorrer arrays ou tabelas. É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais objetos 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 4a Questão (Ref.: 201202036145) Fórum de Dúvidas (0) Saiba (0) A definição ¿ 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).¿ Refre-se a que padrão de projeto: Builder. Memento Command Iterator Mediator 5a Questão (Ref.: 201202036142) Fórum de Dúvidas (0) Saiba (0) Mediator: Define um objeto que encapsula a forma como um conjunto de objetos interage. Mediator promove o acoplamento fraco ao evitar que os objetos se refiram explicitamente uns aos outros, permitindo que você varie suas interações independentemente. (Gamma et al., 2000). Sobre este padrão de projetos podemos afirma com certeza: Considerando objetos que implementem arrays, pode ser visto como uma classe intermediária de comunicação e gerenciamento, evitando que os objetos se comuniquem de forma direta Oferece uma forma de percorrer este tipo de objeto agregado sem conhecer seus detalhes de implementação tem uma grande facilidade de mudança de comportamento, pode-se alterar seu funcionamento sem que seja necessário nenhuma mudança nas demais classes envolvidas, desde que envolvam coleções e matrizes. É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais objetos É 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. Fechar PADRÕES DE PROJETO DE SOFTWARE Lupa Fechar Exercício: CCT0265_EX_A7_201201836794 Matrícula: 201201836794 Aluno(a): WAGNER HELENO DA SILVA Data: 19/06/2015 13:49:23 (Finalizada) 1a Questão (Ref.: 201202035796) Fórum de Dúvidas (0) Saiba (0) O principal objetivo do Padrão Visitor é: Criar um acoplamento forte entre os objetos, tendo em vistaque um objeto deve ser capaz de avisar outros fazendo suposições sobre quem são os objetos. Fornecer um guia de como instanciar objetos e classes. Permitir que sejam adicionadas novas funcionalidades a classes previamente concebidas, sem que haja necessidade de alterar sua implementação. Quando uma abstração tem dois aspectos, um independente do outro, de impedir o encapsulamento de tais aspectos em objetos separados. Criar uma maneira de separar um algoritmo genérico da estrutura de um objeto. 2a Questão (Ref.: 201202035795) Fórum de Dúvidas (0) Saiba (0) Analise as sentenças abaixo sobre as indicações de uso do Padrão de Projeto Observer e, em seguida, assinale a alternativa correta: I. Quando uma abstração tem dois aspectos, um independente do outro. II. Quando uma mudança em um objeto requer mudanças em outros e o programador não sabe quantos outros objetos devem ser mudados. III. Quando um objeto deve ser capaz de avisar outros sem fazer suposições sobre quem são os objetos. Apenas as sentenças I e II estão corretas Apenas as sentenças I e III estão corretas Todas as sentenças estão corretas Apenas a sentença II está correta Apenas as sentenças II e III estão corretas Gabarito Comentado 3a Questão (Ref.: 201202037217) Fórum de Dúvidas (0) Saiba (0) considere a definição: 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 (Gamma et al., 2000). Qual das alternativas é completamente verdadeira? O principal objetivo do padrão acima é conservar as funcionalidades em não se permita adicionar novas, E obriga que haja necessidade de alterar sua implementação O padrão de projeto acima deve ser utilizado não somente quando o comportamento de um objeto depende do seu estado, podendo ser alterado em tempo de execução, mas também quando a funcionalidade de um objeto possui condicionais grandes. O principal objetivo do padrão acima é permitir que sejam adicionadas novas funcionalidades a classes previamente concebidas, sem que haja necessidade de alterar sua implementação. A idéia principal do padrão acima é implementar diferentes algoritmos em uma hierarquia de classes, onde cada um deles pode ser substituído por outro, independente do cliente que o utiliza. O padrão de projeto acima é indicado para ser utilizado quando uma abstração tem dois aspectos, um dependente do outro. Encapsular tais aspectos em objetos separados permite que variem e sejam reusados separadamente; 4a Questão (Ref.: 201202038821) Fórum de Dúvidas (0) Saiba (0) ( CESGRANRIO - 2008) "Classes devem estar abertas para extensão e fechadas para modificação" é um princípio de projeto de modelos orientados a objetos. Tal princípio pode ser aplicado através do padrão de projeto flyweight. decorator. prototype. singleton. builder. Gabarito Comentado 5a Questão (Ref.: 201202039501) Fórum de Dúvidas (0) Saiba (0) (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 Façade e Bridge. Bridge e Adapter. Composite e Bridge. Adapter e Façade. Façade e Composite. 6a Questão (Ref.: 201202038826) Fórum de Dúvidas (0) Saiba (0) (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. Prototype. Observer. Flyweight. Decorator. Fechar PADRÕES DE PROJETO DE SOFTWARE Lupa Fechar Exercício: CCT0265_EX_A8_201201836794 Matrícula: 201201836794 Aluno(a): WAGNER HELENO DA SILVA Data: 19/06/2015 14:06:43 (Finalizada) 1a Questão (Ref.: 201202037223) Fórum de Dúvidas (0) Saiba (0) Marque a alternativa que está relacionada ao padrão de projeto que é responsável por selecionar quais responsabilidades devem estar em quais classes. Observador Criador Especialista da informação Acoplamento fraco State 2a Questão (Ref.: 201202039485) Fórum de Dúvidas (0) Saiba (0) (FGV - 2009) Os padrões de projeto orientados a objeto podem ter finalidade de criação, estrutural ou comportamental. Os padrões de criação se preocupam com o processo de criação de objetos. Os padrões estruturais lidam com a composição de classes ou de objetos. Os padrões comportamentais caracterizam as maneiras pelas quais classes ou objetos interagem e distribuem responsabilidades. Assinale a alternativa que apresenta apenas padrões de projeto comportamentais. Singleton, Composite e Interpreter. Mediator, Interpreter e Command. Composite, Decorato e Proxy. Proxy, Builder e Mediator. Prototype, Abstract Factory e Builder. 3a Questão (Ref.: 201202037238) Fórum de Dúvidas (0) Saiba (0) considere as classes e métodos abaixo: E escolha a opção correta sobre a gravura: E escolha a opção correta sobre a gravura: sobre o acoplamento e coesão : método void imp_NF (cod) não deve ser implementado na classe NF. Obteria-se um projeto melhor se NF fosse acoplada a classe Cliente seus métodos incorporados na classe cliente. Pode-se garantir um melhor acoplamento Existem acoplamentos que poderiam ser evitados, considerando apenas o diagrama, assim o método de imprimir nota fiscal, dando-se o código de cliente, pode ser mapeado de forma diferente melhorando-se o acoplamento. Existem acoplamentos das classes que foram gerados de forma desnecessária pois poderiam ser incorporados em um único método e isto iria facilitar a manutenção e o entendimento. Existem acoplamentos das classes cliente e Nota fiscal. E Nota fiscal e Item de Nota fiscal. Esta forma de acoplamento é caracterizado por chamada de métodos. O método void imp_NF (cod) poderia ser implementado na classe NF sem envolver mais nenhuma classe. Não tendo outros médotos o acoplamento não existiria o que é o desejável. Gabarito Comentado 4a Questão (Ref.: 201202037225) Fórum de Dúvidas (0) Saiba (0) Marque a alternativa que está relacionada ao padrão de projeto que é auxiliar a reduzir o impacto de modificações em uma aplicação. State Criador Acoplamento fraco Especialista da informação Observador 5a Questão (Ref.: 201202037227) Fórum de Dúvidas (0) Saiba (0) Marque a alternativa que está relacionada com o padrão de projeto que pode ser utilizado para configurar uma classe com um dentre muitos comportamentos disponíveis. Observer Visitor State MementoStrategy 6a Questão (Ref.: 201202037220) Fórum de Dúvidas (0) Saiba (0) Marque a alternativa que apresenta apenas padrões GRASP? Coesão alta, controlador e polimorfismo Coesão alta, polimorfismo, visitor Coesão alta, controlador, strategy Observer, visitor, strategy Controlador, polimorfismo e Memento Fechar PADRÕES DE PROJETO DE SOFTWARE Lupa Fechar Exercício: CCT0265_EX_A9_201201836794 Matrícula: 201201836794 Aluno(a): WAGNER HELENO DA SILVA Data: 19/06/2015 14:10:12 (Finalizada) 1a Questão (Ref.: 201202037285) Fórum de Dúvidas (0) Saiba (0) Marque a alternativa que está relacionada ao padrão GRASP que está relacionada com a seguinte questão: como tratar alternativas com base no tipo? State Especialista da informação Polimorfismo Acoplamento fraco Observador 2a Questão (Ref.: 201202038802) Fórum de Dúvidas (0) Saiba (0) 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. (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 Adapter, Façade, Command e Iterator. Prototype, Façade, Iterator e Expert. Command, Singleton, Controller e Façade. Controller, Expert, Singleton e Prototype. Command, Iterator, Singleton e Expert. 3a Questão (Ref.: 201202038830) Fórum de Dúvidas (0) Saiba (0) (CESGRANRIO - 2008) 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. Composite. Adapter. Abstract Factory. Observer. 4a Questão (Ref.: 201202037269) Fórum de Dúvidas (0) Saiba (0) Marque a alternativa que está relacionada com o padrão GRASP utilizado para conectar a camada de interface com o usuário e a camada de negócios da aplicação? Coesão alta Baixo acoplamento Controlador Polimorfismo Especialista da informação 5a Questão (Ref.: 201202038806) Fórum de Dúvidas (0) Saiba (0) (FUNIVERSA - 2009) Considerando os padrões de projetos (design patterns) da engenharia de software que utilizam as melhores práticas em orientação a objetos para atingir os resultados desejados, é correto afirmar que o padrão composite é utilizado para oferecer uma interface única para um conjunto de interfaces de um subsistema, definindo uma interface de nível mais elevado que torna o subsistema mais fácil de usar. memento permite definir uma nova operação, sem mudar as classes dos elementos nos quais opera. decorator é utilizado para prover uma maneira de acessar os elementos de um objeto agregado sequencialmente sem expor sua representação interna. aggregator é utilizado para compor objetos em estruturas de árvore, para representar hierarquias. bridge é utilizado para desacoplar uma abstração de sua implementação para que os dois possam variar independentemente. Gabarito Comentado 6a Questão (Ref.: 201202039490) Fórum de Dúvidas (0) Saiba (0) (COPEVE-UFAL - 2011) O diagrama de classes apresentado na figura não representa fielmente um buffer que passa por estados sucessivos de transformação. Em outras palavras, um buffer, que está inicialmente vazio, depois pode ficar parcialmente cheio e, possivelmente, pode ficar cheio. Dentre as opções apresentadas a seguir, qual o padrão de projetos que melhor se adequaria para modelar essa característica dinâmica do buffer? State. Singleton. Mediator. Composite. Dynamic behavior. Fechar PADRÕES DE PROJETO DE SOFTWARE Lupa Fechar Exercício: CCT0265_EX_A10_201201836794 Matrícula: 201201836794 Aluno(a): WAGNER HELENO DA SILVA Data: 19/06/2015 14:13:53 (Finalizada) 1a Questão (Ref.: 201202038815) Fórum de Dúvidas (0) Saiba (0) (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 Singleton. Strategy. Abstract Factory. Decorator. Template Method. Gabarito Comentado 2a Questão (Ref.: 201202037409) Fórum de Dúvidas (0) Saiba (0) O padrão Indireção tem como característica: implica que um componente ou classe encapsule somente os atributos e operações muito relacionadas a si e com a classe do componente ou classe propriamente dito. é o 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. É um principio básico para fornecer flexibilidade e proteção contra diversos tipos de variações em um projeto orientado a objetos, tais como: variações nos dados, comportamento, hardware, componentes de software, sistemas operacionais, entre outros. O objetivo é atribuir responsabilidade a um objeto intermediário para servir como mediador entre outros componentes ou serviços, para que eles não sejam diretamente acoplados. 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. 3a Questão (Ref.: 201202039464) Fórum de Dúvidas (0) Saiba (0) (FESMIP-BA - 2011) Segundo a classificação de Design Patterns apresentada pela GoF, identifique com V os padrões comportamentais e com F, os demais. ( ) Observer. ( ) Iterator.( ) Façade. ( ) Composite. ( ) Visitor. A alternativa que contém a sequência correta, de cima para baixo, é a V V V V V F V V V F F F V V V V V F F V V F F V F 4a Questão (Ref.: 201202039452) Fórum de Dúvidas (0) Saiba (0) (FUMARC - 2011) São padrões de projeto GoF (design patterns), EXCETO: Criador. Visitor. Strategy. Facade. Adapter. 5a Questão (Ref.: 201202046106) Fórum de Dúvidas (0) Saiba (0) Considere a seguinte definição: "Define um objeto que encapsula o modo como um conjunto de objetos interage. Promove um acoplamento fraco entre objetos, evitando que referenciem diretamente um ao outro e permitindo que se possa variar a interação entre eles de modo independente.(Gamma et al., 2000)" Marque a alternativa que indica o nome do padrão relacionado: Singleton Prototype Observer Strategy Mediator 6a Questão (Ref.: 201202037398) Fórum de Dúvidas (0) Saiba (0) O padrão Invenção Pura 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. é 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. É 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. Fechar