Prévia do material em texto
SIMULADO AV PADRÕES DE PROJETO DE SOFTWARE 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. permitem descrever fragmentos de projeto e reusar idéias de projeto, ajudando desenvolvedores a se nivelar com a experiência de outros. invariavelmente pioram a documentação e a manutenção dos sistemas. não influenciam nos procedimentos, regras e práticas relativas às técnicas orientadas a objetos. difcultam a reutilização de projetos e arquiteturas bem sucedidas. 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¿ Prototype Adapter Singleton nenhuma das alternativas Bridge Imagine que você está desenvolvendo um sistema para um bar especializado em coquetéis, onde existem vários tipos de coquetéis que devem ser cadastrados para controlar a venda. Os coquetéis são feitos da combinação de uma bebida base e vários outros adicionais que compõe a bebida. Por exemplo: Conjunto de bebidas: Cachaça Rum Vodka Tequila Conjunto de adicionais: Limão Refrigerante Suco Leite condensado Gelo Açúcar Então, como possíveis coquetéis temos: Vodka + Suco + Gelo + Açúcar Tequila + Limão + Sal Cachaça + Leite Condensado + Açúcar + Gelo Qual padrão você usaria para representar a estrutura acima? State Strategy Observer Decorator Façade (FESMIP-BA - 2011) O Design Patterns que tem a finalidade de usar compartilhamento para suportar grandes quantidades de objetos, de granularidade fina, de maneira eficiente, é denominado State. Flyweight. Strategy. Composite. Builder. Para fazer a modelagem de um padrão de projeto (design pattern) utilizando a UML é DESNECESSÁRIO. entender o padrão de projeto como uma colaboração representada com suas partes estruturais e comportamentais. identificar as soluções comuns para o problema básico. identificar os elementos do padrão de projeto que devem ser vinculados aos elementos em um contexto específico e representá-los como parâmetros para colaboração. identificar as soluções específicas e particulares para o problema básico e reificá- la como um mecanismo. fazer a modelagem do mecanismo como uma colaboração, fornecendo seus aspectos estruturais, assim como os aspectos comportamentais. Assinale dentre as opções abaixo aquela que corresponde ao objetivo do padrão de projeto Command. .encapsular chamadas de métodos. encapsular chamadas dos objetos; disponibilizar o acesso aos aobjetos Disponibilizar o uso do método private. disponibilizar chamadas de métodos. Qual padrão permite a um objeto alterar seu comportamento quando o seu estado interno muda parecendo que ele alterou sua classe? Mediator. State. Observer. Builder. Nenhuma das anteriores. São padrões GRASP? Information Expert Decorator Controller Indirection Proxy Qual padrão GRASP eu devo utilizar ara atender aos seguintes problemas: Como manter a complexidade sob controle? As classes são difíceis de compreender? As classes são difíceis de reutilizar? Indireção; Especialista da Informação; Criador; Invenção Pura; High Cohesion (Coesão alta); Para o problema: Que objeto deve ter a responsabilidade, quando não se quer violar a Alta Coesão e o Baixo Acoplamento, mas as soluções oferecidas por Expert não são adequadas? Que solução devemos aplicar? Assinale a resposta CORRETA. Atribuir um objeto intermediário entre os dois componentes que não mais dependam um do outro; Atribuir a responsabilidade a um objeto intermediário entre outros componentes ou serviços, para que não sejam diretamente acoplados; Atribuir a responsabilidade a um objeto intermediário para mediar as mensagens; Atribuir por meio de Polimorfismo, uma interface consistente; Atribuir um conjunto altamente coesivo de responsabilidades a uma classe artificial, que não representa um conceito do domínio do problema;