Baixe o app para aproveitar ainda mais
Prévia do material em texto
CCT0265_AV_ » PADRÕES DE PROJETO DE SOFTWARE Avaliação: AV Aluno: Professor: JOSE CARLOS MILLAN Turma: 9002/AB Nota da Prova: 1,5 Nota de Partic.: 1 Data: 16/06/2016 15:01:10 (F) 1a Questão (Ref.: 125600) Pontos: 0,0 / 1,0 Seguindo os princípios Especialista da Informação qual o critério deve ser adotado na escolha de uma classe para receber uma nova responsabilidade? Resposta: A classe deve ser fortemente coesa e ser fracamente. Assim facilita o reuso do código. Gabarito: Deve-se buscar a classe que conhece do contexto da nova responsabilidade através de seus atributos e métodos já definidos. 2a Questão (Ref.: 125646) Pontos: 0,0 / 1,0 Por que os padrões são uma maneira eficiente de reuso de projeto? Resposta: Pois Padrões tratam problemas já existentes que podem ocorrer em qualquer projeto. Padrões para mim é uma forma de dividir conhecimento com outros desenvolvedores, alguém já passou por isso e sabe que a situação pode ser mais comum em outros Projetos. Então assim já temos os Padrões para nos alxiliar no tratamento desses problemas. Gabarito: Por que o principal objetivo do padrão é obter um baixo acoplamento e alto nível de coesão, o que torna os módulos com independência e responsabilidade definidas em contextos específicos. 3a Questão (Ref.: 107775) Pontos: 0,0 / 1,0 Uma das categoria que tradicionalmente se classificam os padrões de projeto :Padrões Estruturais cujo objetivo é: Define a forma de organização dos objetos e sua colaboração mutua Define como implantar um novo método em uma classe. Define como implantar o mecanismo de herança em um grupo de objetos Define formas de gerencia e combinar diferentes comportamentos. Defende formas de instanciar objetos delegando responsabilidades 4a Questão (Ref.: 107785) Pontos: 0,0 / 1,0 Assinale a afirmativa correta sobre o padrão Builder: Um dos 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. é 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 A legibilidade da solução final, ou seja, para entender como um objeto é criado e sob quais condições, fica comprometida 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. 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. 5a Questão (Ref.: 690498) Pontos: 0,0 / 1,0 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? Façade Adapter Flyweight Bridge Proxy 6a Questão (Ref.: 708569) Pontos: 0,0 / 1,0 O Padrão Flyweight é um objeto compartilhado, que pode ser usado em vários contextos, simultaneamente, pois, tem capacidade de funcionar de forma independente em cada contexto. Seus métodos e implementações não podem, em momento algum, fazer _____________________________________________________________ Acoplamento fraco entre o subsistema e seus clientes. comparações ou associações sobre o contexto no qual o objeto opera. hipóteses ou exclusões sobre o contexto no qual o objeto opera. hipóteses ou asserções sobre o contexto no qual o objeto opera. hipóteses ou asserções sobre fora do contexto no qual o objeto opera. Gabarito Comentado. 7a Questão (Ref.: 107796) Pontos: 0,0 / 0,5 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 I, III, estão corretas e II errada As afirmativas II, III estão corretas e a afirmativa I está errada. As afirmativas I, II, estão corretas e a afirmativa III está errada. As afirmativas estão todas corretas As afirmativas I, II, III estão incorretas 8a Questão (Ref.: 119012) Pontos: 0,5 / 0,5 (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. Mediator, Interpreter e Command. Singleton, Composite e Interpreter. Composite, Decorato e Proxy. Prototype, Abstract Factory e Builder. Proxy, Builder e Mediator. 9a Questão (Ref.: 118979) Pontos: 0,5 / 0,5 (FUMARC - 2011) São padrões de projeto GoF (design patterns), EXCETO: Criador. Visitor. Strategy. Adapter. Facade. 10a Questão (Ref.: 118328) Pontos: 0,5 / 0,5 (CESPE - 2010 - INMETRO) A coesão e o acoplamento são formas de se avaliar se a segmentação de um sistema em módulos ou em componentes foi eficiente. Acerca da aplicação desses princípios, assinale a opção correta. A modularização do programa em partes especializadas pode aumentar a qualidade desses componentes, mas pode prejudicar o seu reaproveitamento em outros programas. Os componentes ou os módulos devem apresentar baixa coesão e um alto grau de acoplamento. Um benefício da alta coesão é permitir realizar a manutenção em um módulo sem se preocupar com os detalhes internos dos demais módulos. O baixo acoplamento pode melhorar a manutebilidade dos sistemas, pois ele está associado à criação de módulos como se fossem caixas-pretas. Os componentes ou os módulos devem ser fortemente coesos e fracamente acoplados. Períod
Compartilhar