Buscar

Atividades praticas 08

Prévia do material em texto

Instituto Federal de Educação, Ciência e Tecnologia do Rio 
Grande do Sul Campus Veranópolis 
Curso Tecnologia em Análise e Desenvolvimento de Sistemas 
Disciplina: Programação com padrões de projeto 
Professora: Taís Cristine Appel Colvero 
 
Aluno: Leandro A. Zardo 
 
 
EXERCÍCIOS 
GOF 
 
1) O padrão de comportamento e encadeamento de atendentes (Chain of 
Responsibility) evita acoplamento entre solicitantes e atendentes, permitindo que 
mais de um objeto tenha chance de tratar a solicitação. Esta afirmação está correta? 
Justifique (descreva ou coloque um trecho de código). 
 Essa afirmação está correta. Evita o acoplamento do remetente de uma solicitação ao 
seu receptor. Encadeia os objetos receptores, passando a solicitação ao longo da cadeira 
até que um objeto a trate. É bom utilizar o Chain of Responsibility quando queremos emitir 
uma solicitação para um dentre vários objetos, sem especificar explicitamente o receptor. 
 
2) O padrão de projeto do tipo comportamental conhecido como Iterator permite uma 
maneira de acessar, de forma sequencial, os elementos de um objeto agregado sem 
a exposição de sua representação subjacente. Esta afirmação está correta? 
Justifique (descreva ou coloque um trecho de código). 
 Essa afirmação está correta. Pois fornece uma maneira de acessar sequencialmente 
os elementos de um objeto agregado sem expor a sua representação subjacente / 
estrutura interna. 
 
3) A intenção do padrão de projeto Abstract Factory é definir uma interface para a 
criação de um objeto, deixando as subclasses decidirem que classe instanciar. 
Delega a instanciação para as subclasses. Esta afirmação está correta? Justifique 
(descreva ou coloque um trecho de código). 
 Essa afirmação está incorreta. O padrão Abstract Factory fornece uma interface para 
a criação de famílias de objetos relacionados ou dependentes sem especificar suas 
classes completas. 
 
4) O padrão de projeto Facade busca fornecer uma interface de acesso simplificada 
para um subsistema complexo, de forma a tornar o uso de tal subsistema mais 
simples. Esta afirmação está correta? Justifique (descreva ou coloque um trecho de 
código). 
 Essa afirmação está correta. Esse padrão oferece uma interface unificada para um 
conjunto de objetos que consistem um subsistema, definindo uma interface de alto nível 
que facilita no uso. 
 
5) Com relação ao padrão de projeto Command, é correto afirmar que o objetivo da 
utilização deste padrão é fazer o encapsulamento de uma solicitação em um objeto, 
possibilitando que um comportamento seja chamado sem saber nada sobre qual 
operação deverá ser executada. Esta afirmação está correta? Justifique (descreva 
ou coloque um trecho de código). 
 Essa afirmação está correta. Nesse padrão é feito uma associação de uma ação a 
diferentes objetos através de uma interface conhecida. 
 
6) O padrão de projeto Template Method especifica a estrutura de algoritmo dentro de 
um método, onde algumas etapas desse algoritmo são definidas nas subclasses. 
Esta afirmação está correta? Justifique (descreva ou coloque um trecho de código). 
 Essa afirmação está correta. Define o esqueleto de um algoritmo em uma operação, 
postergando a definição de alguns passos para subclasses. 
 
7) Com o padrão Decorator, responsabilidade são estaticamente adicionadas ao 
objeto. Tais responsabilidades são definidas em tempo de compilação. Esta 
afirmação está correta? Justifique (descreva ou coloque um trecho de código). 
 Essa afirmação está incorreta. O Padrão Decorator anexa responsabilidades 
adicionais a um objeto dinamicamente. Os decoradores fornecem uma alternativa flexível 
de subclasse para estender a funcionalidade. 
 
8) Uma das implementações do padrão Adapter é realizada através do uso do 
mecanismo de herança múltipla. Esta afirmação está correta? Justifique (descreva 
ou coloque um trecho de código). 
 Afirmativa correta. Pois ao estender uma classe ou ao implementar uma ou mais 
classes adaptadas uma interface na outra. 
 
9) O padrão Observer define a quantidade de objetos observadores (Observer) de um 
dado assunto (Subject) em tempo de inicialização do programa. Esta afirmação está 
correta? Justifique (descreva ou coloque um trecho de código). 
 Afirmativa incorreta. O padrão Observer utiliza uma dependência de um-para-muitos 
entre objetos para que, quando um objeto mudar de estado, todos os seus dependentes 
sejam notificados e atualizados automaticamente.

Continue navegando