Buscar

Teste de Conhecimento Aula 10 Padrões de Projeto de Software

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

EPS http://simulado.estacio.br/bdq_simulados_exercicio.asp#ancora_8
CCT0763_A10__V1
PADRÕES DE PROJETO DE SOFTWARE
Lupa Calc.
CCT0763_A10__V1
VídeoPPTMP3
Aluno: Matrícula:
Disciplina: CCT0763 - PAD. PROJ. SOFTWARE Período Acad.: 2018.3 EAD (G) / EX
Prezado (a) Aluno(a),
Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será
composto de questões de múltipla escolha.
Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo
de questões que será usado na sua AV e AVS.
1. Marque dentre as opções apresentadas aquela que corresponde ao padrão de projeto que sugere atribuir um conjunto de responsabilidades altamente
coesas 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.
Invenção pura;
Criador
Indireção;
Proxy;
Variações protegidas;
Gabarito Coment.
2. Para o seguinte problema:
Como projetar objetos, subsistemas e sistemas para que as variações ou instabilidades nesses elementos
não tenham um impacto indesejável nos outros elementos?
Qual solução devemos aplicar? Assinale a resposta INCORRETA.
Atribuir responsabilidades para criar uma interface estável em volta desses pontos;
Evitar enviar mensagens a objetos muito distantes.
Atribuir a responsabilidade a um objeto intermediário para mediar as mensagens entre outros
componentes ou serviços, para que não sejam diretamente acoplados;
Utilizar os princípios de encapsulamento, interfaces, polimorfismo, indireção e padrões, além de
máquinas virtuais e brokers;
Identificar pontos de variação ou instabilidade potenciais;
Explicação:
Essa resposta está INCORRETA porque ela deve ser usada para uma solução do padrão Indireção.
1 of 4 22/11/2018 18:53
EPS http://simulado.estacio.br/bdq_simulados_exercicio.asp#ancora_8
3. O padrão Indireção tem como característica:
é 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.
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.
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.
É 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.
Explicação:
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..
E:
Alguns padrões da família GRASP: Expert, Creator, High Coesion, Low Coupling, Controller, ou seja: Especialista; Criador; Baixo Acoplamento
(Acoplamento Fraco).
Outros padrões GRASP considerados Avançados são Inversão Pura (Pure Fabrication), Indireção e Variações Protegidas.
O padrão Indireção resolve problemas como: a quem devemos atribuir a responsabilidade, evitando o acoplamento direto entre dois ou mais objetos?
e como desacoplar objetos apoiando o Acoplamento Baixo e maximizando o potencial de reuso?
A solução para isso é atribuir a responsabilidade a um objeto intermediário para mediar as mensagens entre outros componentes ou serviços, para que
não sejam diretamente acoplados e o objeto intermediário cria uma camada de indireção entre os dois componentes que não mais dependam um do outro:
Ambos dependem da indireção.
A Indireção quer que dois objetos, evite-se o acoplamento direto entre eles.
A ideia é diminuir o acoplamento e manter a coesão.
4. Marque a alternativa que representa o padrão GRASP que está relacionada com a seguinte questão: Como distribuir responsabilidades buscando alcançar Coesão
Alta ou Acoplamento Baixo?
Indireção
Invenção Pura
controlador
polimorfismo
variações protegidas
Explicação:
Alguns padrões da família GRASP: Expert, Creator, High Coesion, Low Coupling, Controller, ou seja: Especialista; Criador; Baixo Acoplamento
(Acoplamento Fraco).
Como não há uma classe de domínio de negócio que seria cabível a delegação desse comportamento, a intenção é, através do padrão Inversão Pura,
A Inversão Pura é utilizada em projetos de software para projetar uma classe que não pertença ao domínio do problema, mas que ofereça ao projeto
coesão alta, acoplamento baixo e reuso.
5. 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 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.
é 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.
2 of 4 22/11/2018 18:53
EPS http://simulado.estacio.br/bdq_simulados_exercicio.asp#ancora_8
É 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.
Explicação:
Alguns padrões da família GRASP: Expert, Creator, High Coesion, Low Coupling, Controller, ou seja: Especialista; Criador; Baixo Acoplamento
(Acoplamento Fraco).
Outros padrões GRASP considerados Avançados são Inversão Pura (Pure Fabrication), Indireção e Variações Protegidas.
O padrão Inversão Pura resolve problemas como: 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? e Atribuir responsabilidades apenas para classes do domínio conceitual
pode levar à situações de maior acoplamento e menos coesão.
A solução para isso é atribuir um conjunto altamente coesivo de responsabilidades (ou seja, aquelas séries de responsabilidades que são coesas vou
atribui-las a) a uma classe artificial (ou seja, uma classe que não seja do domínio do negócio) que não representa um conceito do domínio do problema (a
ser resolvido).
6. Dentre as opções abaixo assinale aquela que não se constitui em um benefícios da aplicação do padrão variações protegidas.
as extensões para novas variações são difiíceis de adicionar, o
acoplamento fica mais baixo;
as extensões para novas variações são fáceis de adicionar, o
impacto ou custo das modificações pode ser diminuído. novas
implementações são introduzidas sem afetar o cliente,
Gabarito Coment.
7. O padrão de projeto variações protegidas é um princípio básico para fornecer _____________e _____________ flexibilidade e proteção contra diversos tipos de
variações em um projeto orientado a objetos, Complete as lacunas com a opção correta.
flexibilidade, proteção e visibilidade.
flexibilidade e acoplamento;
proteção e visibilidade;
flexibilidade e proteção;
proteção e coesão;
8. Para o problema:
Que objeto deve ter a responsabilidade, quando não se quer violar a Alta Coesãoe 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 por meio de Polimorfismo, uma interface consistente;
Atribuir a responsabilidade a um objeto intermediário entre outros componentes ou serviços, para que
não sejam diretamente acoplados;
Atribuir um objeto intermediário entre os dois componentes que não mais dependam um do outro;
Atribuir um conjunto altamente coesivo de responsabilidades a uma classe artificial, que não
representa um conceito do domínio do problema;
Atribuir a responsabilidade a um objeto intermediário para mediar as mensagens;
Explicação:
Essa resposta está correta porque as outras se referem a soluções de Indireção.
3 of 4 22/11/2018 18:53
EPS http://simulado.estacio.br/bdq_simulados_exercicio.asp#ancora_8
Legenda: Questão não respondida Questão não gravada Questão gravada
Exercício inciado em 22/11/2018 18:37:15.
4 of 4 22/11/2018 18:53

Mais conteúdos dessa disciplina