Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% acharam este documento útil (0 voto)
10 visualizações6 páginas

Orientador de Estudos APD2 - 1

Fazer download em docx, pdf ou txt
Fazer download em docx, pdf ou txt
Fazer download em docx, pdf ou txt
Você está na página 1/ 6

FACULDADE DE COMPUTAÇÃO E INFORMÁTICA

APD II – Orientador de Estudos

Design Patterns GRASP

Recomenda-se a utilização dos exercícios descritos abaixo para


estudar para as avaliações da Disciplina de APDII.
Os exercícios são de diferentes graus de dificuldade e das mais
variadas fontes, como exemplo:
 Concursos públicos;
 Exame Nacional de Desempenho de Estudantes;
 Testes técnicos para vagas de emprego;
 Professores de outras instituições;
 Cérebro criativo de seus professores.

Enfim, boa sorte nos seus estudos...

1. O que é um design pattern?

2. O que significa GRASP?

3. O que é um padrão?

4. O que é o padrão Creator?

5. Qual problema o padrão Creator resolve?

6. Quais as consequências do padrão Creator?

7. O que é o padrão Expert?

8. Qual problema o padrão Expert resolve?

9. Quais as consequências do padrão Expert?

10. O que é o padrão Pure Fabrication?

11. Qual problema o padrão Pure Fabrication resolve?

12. Quais as consequências do padrão Pure Fabrication?

13. O que é Acoplamento?

14. Baixo Acoplamento é bom, justifique.

15. Qual problema o Baixo Acoplamento resolve?

1
16. Quais as consequências do Baixo Acoplamento?

17. O que é Coesão?

18. Alta Coesão é bom, justifique.

19. Qual problema a Alta Coesão resolve?

20. Quais as consequências da Alta Coesão?

21. O que é o padrão Controler?

22. Qual problema o padrão Controler resolve?

23. Quais as consequências do padrão Controler?

24. O que é o padrão Indireção?

25. Qual problema o padrão Indireção resolve?

26. Quais as consequências do padrão Indireção?

27. O que é o padrão Protected Variations?

28. Qual problema o padrão Protected Variations resolve?

29. Quais as consequências do padrão Protected Variations?

30. No polimorfismo, que é um tipo de padrão GRASP, um mesmo método pode apresentar várias

formas.

( ) Certo ( ) Errado

31. GRASP (general responsibility assignment software patterns) consiste em um conjunto de sete

padrões básicos para atribuir responsabilidades em projeto orientado a objetos: information

expert, creator, controller, low coupling, high cohesion, polymorphism e pure fabrication.

( ) Certo ( ) Errado

32. Julgue os itens que se seguem a respeito dos padrões de desenho e outras técnicas para reúso

de software.

Os padrões: Controller; Polimorfismo; e Information Expert, são considerados do tipo GRASP

porque cada um embute uma forma de atribuição de responsabilidades a objetos. No caso

2
do Controller, a responsabilidade é concernente ao tratamento de eventos. No caso do

Polimorfismo, a responsabilidade é concernente à variação de comportamento, conforme o tipo

do objeto. No caso do Information Expert, a responsabilidade concerne à disponibilidade de

informações que permitem o desempenho de uma responsabilidade.

( ) Certo ( ) Errado

33. O padrão Pure Fabrication objetiva designar a responsabilidade unívoca pela criação de uma

nova instância de uma classe.

( ) Certo ( ) Errado

34. Nos casos em que a solução oferecida pelo padrão Expert violar a alta coesão e o baixo

acoplamento, o padrão adequado a ser aplicado será o Creator, que atribui um conjunto

altamente coesivo de responsabilidades a uma classe artificial que não representa um conceito

do domínio do problema.

( ) Certo ( ) Errado

35. O padrão Indirection é utilizado para atribuir responsabilidades à classe que tiver a informação

necessária para satisfazer a responsabilidade.

( ) Certo ( ) Errado

36. O padrão Don’t Talk to Strangers é utilizado para fortalecer o polimorfismo, realizado pelo

padrão Polymorphism. O objetivo de ambos os padrões é substituir um componente sem afetar

outro componente, embora o primeiro implemente o polimorfismo em nível de classe e o

segundo lide com alternativas embasadas no tipo de componente.

( ) Certo ( ) Errado

37. Com relação aos padrões GRASP, assinale a opção correta.

a) O acoplamento baixo (low coupling) baseia-se na quantidade de ligações entre as classes e

está destinado à atribuição de responsabilidade ao 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

3
b) O controlador (controller) permite solucionar problemas no controle de criação de instâncias

de classes. Nesse sentido, se a classe X contiver dados iniciais da classe Y ou se X usar de

maneira muito próxima Y, caberá a X criar instâncias de Y, em que o controller representaria o

padrão mais indicado para solucionar esse problema.

c) A alta coesão (high cohesion) é um padrão utilizado para aprimorar a ligação entre as classes,

permitindo que a classe A não dependa de outras classes. Esse padrão é considerado o princípio

central e útil em projetos orientados a objetos que utilizam GRASP

d) O criador (creator) é utilizado para a solução do problema de quem cria a instância de uma

classe com objetos do modelo de domínio. Nesse caso, se A registra B, então atribui-se à classe

B a responsabilidade de se criar uma instância de A.

e) O especialista na informação (information expert) associa-se ao mapeamento de

responsabilidade em que se procura atribuir responsabilidade à classe que tenha informação

necessária para satisfazê-la.

38. Expert é um padrão que apresenta uma interface para várias funcionalidades de uma API de

maneira simples e fácil de usar.

( ) Certo ( ) Errado

Para as questões 39, 40, 41, 42 analise o enunciado abaixo:

Um pedido no site possui as informações dos produtos, quantidade dos produtos e

dados do cliente. Um pedido sempre possui a sua totalização em reais.

39. Faça o diagrama de classe e de sequência do enunciado acima.

40. Tendo em vista um dos design patterns GRASP, qual a classe que será responsável por calcular o

valor total do pedido? Justifique.

41. Tendo em vista um dos design patterns GRASP, qual a classe que será responsável por calcular o

preço unitário do pedido? Justifique.

4
42. Tendo em vista um dos design patterns GRASP, qual classe deve ser responsável por criar um

pedido do cliente?

43. Justifique a utilização de get e set em relação a um design pattern do GRASP.

44. Em relação acomplamento e coesão, assinale alternativa que descreve o que representa um

bom projeto de software.

( ) baixo acomplamento e baixa coesão

( ) baixo acomplamento e alta coesão

( ) alto acomplamento e baixa coesão

( ) alto acomplamento e alta coesão

Tendo em vista o modelo de classes abaixo para o jogo Banco Imobiliário, responda as questões

45, 46, 47

45. Qual classe deve ser responsável por criar a classe Square? Justifique por meio de um princípio

GRASP.

5
46. Qual classe deve ser responsável por decidir qual jogador vai para cadeia? Justifique por meio

de um princípio GRASP.

47. Qual classe deve ser responsável por gerenciar a compra de uma propriedade (Property)?

Justifique por meio de um princípio GRASP.

48. É possível fazer um Sistema onde as classes são completamente desacompladas? Justifique.

49. Não é possível fazer um software completamente desacoplado de outros softwares,

componentes, e classes, diferencie acomplamento bom do acomplamento ruim.

50. É necessário proteger o sistema de variações, qual princípio GRASP você recomenda? Justifique.

51. Você precisa diminuir o acoplamento direto entre duas classes, qual principio GRASP você

recomenda? Justifique

52. Você precisa salvar uma instância da classe Aluno em banco de dados, como você resolveria

este problema? Justifique por meio de um princípio GRASP.

53. A locadora para a qual você está desenvolvendo um Sistema utiliza diferentes políticas de preço

para cada um dos tipos de Fita. Como você resolveria este problema? Justifique por meio de um

princípio GRASP.

Você também pode gostar