Prévia do material em texto
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 1a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A1_201803107685_V1 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
Analise as afirmações abaixo:
I. Define uma dependência um para muitos entre objetos, de forma que, quando o objeto é alterado todos os seus dependentes
são notificados e atualizados..
II. Dada uma linguagem define uma representação para a sua gramática juntamente com um interpretador.
III. Agrega dinamicamente responsabilidades adicionais a um objeto.
As afirrmações correspondem respectivamente a:
Interpreter, Observer, Decorator
Interpreter, Observer, Decorator
Decorator, Interpreter, Observer
Observer, Interpreter, Decorator
Observer, Decorator, Interpreter
Respondido em 16/04/2020 08:28:47
Explicação:
O padrão Observer (observador) define uma dependência um para muitos, que será necessária
para fazer a relação entre um conjunto de dados e várias representações, além de permitir que,
quando um objeto mude de estado, todos os dependentes sejam notificados.
Define uma dependência um para muitos entre objetos tal que, quando o estado de um objeto
muda, todos os seus dependentes são notificados e atualizados automaticamente.
O padrão Interpreter é um dos padrões de projeto de software, famosos como "Design Patterns",
muito utilizado para a resolução de problemas quando a modelagem de sistemas ou softwares.
Esse padrão esta incluso na categoria de Padrão Comportamental, ou seja, ele busca solucionar
problemas de modelagem que tratam o comportamento de classes.
Tem a função de interpretar, interfacear delegando responsabilidade.
O padrão Decorator é um padrão de cuja intenção são as Extenções.
O padrão Decorator anexa responsabilidades adicionais a um objeto (em caráter dinâmico)
dinamicamente. Decorators oferecem uma alternativa flexível ao uso de herança para estender
uma funcionalidade (para a extensão de funcionalidade).
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','1','','','315368821');
javascript:abre_frame('2','1','','','315368821');
javascript:abre_frame('3','1','','','315368821');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
2a Questão
Qual padrão define uma interface para criar um objeto, mas deixa as subclasses decidirem que classe instanciar?
Factory Method.
Abstract Factory.
Singleton.
Nenhuma das anteriores.
Builder.
Respondido em 16/04/2020 08:28:49
Explicação:
Há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory Method, Prototype e
Singleton.
Esses Padrões de Criação fornecem um guia de como instanciar objetos. Esta ação normalmente
envolve decisões dinâmicas para escolher, por exemplo, qual classe instanciar, ou a quais objetos
delegar responsabilidade. Esse padrão nos mostra como estruturar e encapsular essas decisões.
O objetivo do Factory Method (Método de Fábrica) é definir uma interface para criar um objeto,
mas deixar as subclasses definirem que classe instanciar.
Situações em que deve ser utilizado o padrão Factory Method:
Quando se quer localizar num ponto único a conhecimento de qual subclasse está sendo usada.
Quando classes delegam responsabilidade para uma entre várias subclasses de apoio.
Quando uma classe quer que suas subclasses especifiquem os objetos criados.
Quando uma classe (o criador) não pode antecipar a classe dos objetos que deve criar.
3a Questão
Os padrões de projeto podem ser categorizados em três grupos: criação, estruturais e comportamentais. São padrões do grupo
estrutural e do grupo criação,respectivamente:
observer e bridge
façade e singleton
builter e abstract factory.
abstract factory e composite.
singleton e façade
Respondido em 16/04/2020 08:28:52
Explicação:
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite,
Decorator, Façade, Flyweight e Proxy.
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua
integração e colaboração mutua.
O padrão Façade (fachada) é um padrão Fachada, ou seja, faz uma fachada única para todas as
fachadas, ou seja, Fornece uma interface unificada para um conjunto de objetos que constituem
um subsistema.define uma interface a um nível mais elevado, para tornar um subsistema mais
fácil de usar.
Há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory Method, Prototype e
Singleton.
Esses Padrões de Criação fornecem um guia de como instanciar objetos. Esta ação normalmente
envolve decisões dinâmicas para escolher, por exemplo, qual classe instanciar, ou a quais objetos
delegar responsabilidade. Esse padrão nos mostra como estruturar e encapsular essas decisões.
O padrão de projeto Singleton é um dos padrões mais conhecidos e extensivamente utilizados
em programação orientada a objetos.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/4
Está direcionado para as situações onde precisamos manter uma única instancia de uma classe
durante toda a execução da aplicação. A sua estrutura é bastante simples, existe apenas uma
classe chamada Singleton, que define um método chamado Instance, responsável poder retornar
aos clientes à única instancia da classe.
4a Questão
Sabendo que as soluções para os padrões de projeto são divididas em três tipos, de acordo com as características destes tipos
informe a sequencia correta. I. Abrange a configuração e inicialização de objetos e classes. II. Lida com as interfaces e a
implementação das classes e dos objetos. III. Lida com as interações dinâmicas entre grupos de classes e objetos.
I - Estrutural, II - Comportamental, III - Estrutural
I - Criacional, II - Estrutural, III - Comportamental
I - Criacional, II - Comportamental, III - Estrutural
I - Comportamental, II - Estrutural, III - Criacional
I - Comportamental, II - Criacional, III - Estrutural
Respondido em 16/04/2020 08:29:12
Explicação:
Há três grupos de Padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões
Comportamentais.
Os Padrões de Criação fornecem um guia de como instanciar objetos. Esta ação normalmente
envolve decisões dinâmicas para escolher, por exemplo, qual classe instanciar ou a quais objetos
delegar responsabilidade. Esse padrão nos mostra como estruturar e encapsular essas decisões.
Os Padrões Estruturais tratam da composição de classes e objetos para formar estruturas
complexas; associados à maneira como classes e objetos são organizados estruturalmente;
oferecem formas efetivas para usar conceitos OO como herança e composição, e são abstrações
de aspectos estruturais.
O objetivo dos Padrões Estruturais é definir caminhos comuns para a organização de diferentes
tipos de objetos, facilitando sua integração e colaboração mutua.
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são
distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de aspectos
comportamentais.
5a Questão
Qual padrão fornece uma interface para criação de famílias de objetos relacionados ou dependentes sem especificar suas classes
completas?
Builder.
Factory Method.
Nenhuma das anteriores.
Adapter.
Abstract Factory.
Respondido em 16/04/2020 08:29:15
Explicação:
Há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory Method, Prototype e
Singleton.
Esses Padrões de Criação fornecem um guia de como instanciar objetos. Esta ação normalmente
envolve decisões dinâmicas para escolher, por exemplo, qual classe instanciar, ou a quais objetos
delegar responsabilidade.Esse padrão nos mostra como estruturar e encapsular essas decisões.
O método Abstract Factory fornece uma interface para a criação de uma família de objetos
relacionados ou dependentes sem especifi car suas classes completas.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/4
6a Questão
Quanto aos design patterns, é correto afirmar que:
a UML pode ser utilizada para representar frameworks, mas não é tão ampla ao ponto de oferecer suporte à representação
dos design patterns.
são projetos concretos que incluem detalhes de implementação.
são conjuntos de classes abstratas e concretas que podem ser adaptadas e ampliadas para criar sistemas de aplicações.
descrevem melhores práticas, bons projetos, e captam a experiência de uma maneira possível de ser usada por outros.
o maior problema com a utilização dos design patterns é que eles não suportam o uso de ferramentas CASE e podem
trazer erros provenientes da percepção de quem os criou.
Respondido em 16/04/2020 08:29:05
7a Questão
considerando a classe de projetos GoF assinalem a opção cujos padrões de projeto estão todos classificados como
Comportamentais
Command,- Interpreter, - Iterator, - Mediator, - composite , State, Strategy
Command,- bridge, - Iterator, - Mediator, bridge, State, Strategy
Command,- Interpreter, - Iterator, - Mediator, - Observer, State, Strategy
Command,- bridge, - Iterator, - Mediator, - composite - State, Strategy
Command,- bridge, - Iterator, - Mediator, - Observer, State, Strategy
Respondido em 16/04/2020 08:29:18
Explicação:
A família de padrões GoF, está divida em três grupos principais de padrões: Padrões de Criação, Padrões Estruturais e Padrões
Comportamentais.
Se categorizarmos os padrões de Projeto por Finalidade, temos as categorias Estruturais, e por Finalidade. Esta categorização pode
ser por Criação ou Comportamentais.
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são distribuídas a classes e objetos durante
a realização de uma tarefa. São abstrações de aspectos comportamentais.
Há 11 padrões comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State,
Strategy, Template Method e Visitor.
8a Questão
Qual o objetivo dos Padrões Estruturais? Assinale a opção CORRETA.
Fornecem um guia de como instanciar objetos.
Mostram como estruturar e encapsular essas decisões.
Definem a quais objetos delegar responsabilidade.
Envolve decisões dinâmicas para escolher qual classe instanciar.
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando
sua integração e colaboração mutua.
Respondido em 16/04/2020 08:29:19
Explicação:
Essa afirmativa está CORRETA porque as outras se referem a Padrões de Criação.
javascript:abre_colabore('38403','186819010','3724174718');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 1a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A1_201803107685_V2 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
1) A empresa XWebx foi contratada para desenvolver aplicativos de uma instituição financeira que possam ser executados em
diferentes plataformas, como PC, celular e tablet. Para evitar a necessidade de criar diferentes soluções para cada plataforma, a
empresa decidiu adotar um padrão de projeto que defina uma família de componentes para cada plataforma e uma implementação
que os instancie de acordo com a plataforma-alvo na qual a aplicação estará sendo executada. O padrão adequado a essa
implementação é:
Abstract Factory
Prototype
Template Method
Adapter
Strategy
Respondido em 16/04/2020 08:29:18
Explicação:
O método Abstract Factory fornece uma interface para a criação de uma família de objetos
relacionados ou dependentes sem especifi car suas classes completas.
2a Questão
Os padrões de projeto (Design Patterns) GoF são classificados nas categorias:
Criacional. Estrutural. Comportamental.
Situacional. Estrutural. Complementar.
Criacional. Evolutiva. Contingencial.
Compartimental. Vinculada. Comportamental.
Criacional. Step-by-step. Orientada a requisitos.
Respondido em 16/04/2020 08:29:20
Explicação:
Essa resposta está coreta porque:
GoF - Gang of Four - Gangue dos Quatro.
Há três grupos de Padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões
Comportamentais.
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','1','','','315368821');
javascript:abre_frame('2','1','','','315368821');
javascript:abre_frame('3','1','','','315368821');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
3a Questão
Analise as afirmações abaixo:
I. Encapsula a escolha da classe concreta a ser utilizada na criação de objetos.
II. Especifica os tipos de objetos a serem criados usando protótipo de objetos
III. Garante que uma classe tem somente uma instância;
As afirrmações correspondem respectivamente a:
Abstract Factory, Factory Method, Singleton
Factory Method, Singleton, Abstract Factory
Factory Method, Abstract Factory, Singleton
Abstract Factory, Singleton, Factory Method
Singleton, Abstract Factory, Factory Method
Respondido em 16/04/2020 08:29:23
Explicação:
Essa resposta está correta porque há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory
Method, Prototype e Singleton.
Os Padrões de Criação fornecem um guia de como instanciar objetos. Esta ação normalmente
envolve decisões dinâmicas para escolher, por exemplo, qual classe instanciar, ou a quais objetos
delegar responsabilidade. Esse padrão nos mostra como estruturar e encapsular essas decisões.
4a Questão
Podemos afirmar que os Padrões Estruturais da família GoF:
Colocam em dúvida o tratamento dispensado aos usuários na fase de levantamento das necessidades.
Aumentam a responsabilidade do programador em depurar o código e as rotinas necessárias à documentação dos
processos.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e colaboração
mútua.
Fornecem um guia de como instanciar objetos, que normalmente envolve decisões dinâmicas para escolher, por exemplo,
qual classe instanciar ou a quais objetos delegar responsabilidade.
Respondido em 16/04/2020 08:29:26
Explicação:
Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais.
Os padrões de estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite, Decorator, Façade, Flyweight e
Proxy.
O objetivo dos Padrões Estruturais é definir caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua
integração e colaboração mutua.
Tratam da composição de classes e objetos para formar estruturas complexas.
São associados à maneira como classes e objetos são organizados estruturalmente.
E oferecem formas efetivas para usar conceitos OO como herança e composição.
5a Questão
Qual o objetivo dos Padrões Comportamentais? Assinale a opção CORRETA.
Definem a quais objetos delegar responsabilidade.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/4
Envolve decisões dinâmicas para escolher qual classe instanciar.
Fornecem um guia de como instanciar objetos.
O objetivo dos Padrões Comportamentais têm a ver com a maneira pela qual responsabilidades são distribuídas a classes e
objetos durantea realização de uma tarefa.
Mostram como estruturar e encapsular essas decisões.
Respondido em 16/04/2020 08:29:48
Explicação:
Essa afirmativa está CORRETA porque as outras se referem a Padrões de Criação.
6a Questão
(FESMIP-BA - 2011) Segundo a classificação de Design Patterns apresentada pela GoF, identifique com V os padrões
comportamentais e com F, os demais.
( ) Observer.
( ) Iterator.
( ) Façade.
( ) Composite.
( ) Visitor.
A alternativa que contém a sequência correta, de cima para baixo, é a
F V V V F
V V V V V
V F F V F
F F V V V
V V F F V
Respondido em 16/04/2020 08:29:50
7a Questão
Esses são padrões de projeto GoF estudados em aula, EXCETO:
Strategy
Observer
Adapter
Facade
Workflow
Respondido em 16/04/2020 08:29:40
Gabarito
Coment.
8a Questão
Sobre padrão, o que podemos afirmar:
Definimos como maneira testada ou documentada de alcançar um objetivo qualquer, e é muito utilizado em varias áreas
da engenharia.
Definimos como experiências praticas sem ter documentação, e é muito utilizado em varias áreas da engenharia.
Definimos a maneira teórica de alcançar um objetivo qualquer, e, por isso, não tem muito uso para áreas da engenharia.
Definimos como forma, em experimento provisório, pela comunidade acadêmica da área sem documentação e é muito
utilizado em varias áreas da engenharia.
Definimos pratica testada ou documentada de alcançar um objetivo qualquer, e que nunca mais é usada pois as situações
não se repetem. Não é muito utilizado em áreas da engenharia.
Respondido em 16/04/2020 08:29:53
Explicação:
Padrões de projeto são voltados para problemas recorrentes que ocorrem no nosso dia-a-dia.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/4
São descrições de objetos que se comunicam e classes que são customizadas para resolver um
problema genérico de design em um contexto específico.
javascript:abre_colabore('38403','186819051','3724176032');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 1a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A1_201803107685_V3 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
Uma programadora precisa mudar a implementação chamada de uma função em tempo de execução
dependendo da entrada de dados. Um dos requisitos importantes é ocultar do usuário desta função a
exposição das estruturas de dados complexas, específicas do algoritmo. Entre os conhecidos padrões de
Projeto de Software Gang of Four (GoF,1994), qual é o indicado?
Strategy.
Façade.
Factory Method.
Builder.
Template Method.
Respondido em 16/04/2020 08:29:48
Explicação:
a) Builder
Separar a construção de um objeto complexo de sua representação de modo que o mesmo processo de construção possa criar
diferentes representações.
b) Strategy
Definir uma família de algoritmos, encapsular cada uma delas e torná-las intercambiáveis. Strategy permite que o algoritmo varie
independentemente dos clientes que o utilizam
c) Façade
Fornecer uma interface unificada para um conjunto de interfaces em um subsistema. Facade define uma interface de nível mais alto
que torna o subsistema mais fácil de ser usado.
d) Template Method
Definir o esqueleto de um algoritmo em uma operação, postergando alguns passos para as subclasses. Template Method permite
que subclasses redefinam certos passo de um algoritmo sem mudar a estrutura do mesmo.
Recomendo esta fonte para estudos de Padrões de Projeto:
https://brizeno.wordpress.com/padroes/
2a Questão
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','1','','','315368821');
javascript:abre_frame('2','1','','','315368821');
javascript:abre_frame('3','1','','','315368821');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
Escolha a opção que contem, somente, padrões de interface, segundo Metsker::
Adapter, Facade, Composite e Bridge
Abstract Factory, Facade, Composite e Bridge
Adapter, Decorator, Composite e Bridge
Adapter, Facade, Composite e Builder
Decorator, Facade, Composite e Bridge
Respondido em 16/04/2020 08:29:51
Explicação:
Segundo Metsker, há 5 grupos segundo a intenção: Interfaces, Responsabilidade, Construção,
Operações e Extensões.
Interface: Adapter, Facade, Composite, Bridge.
3a Questão
Para facilitar a manutenção da aplicação, há um design pattern que tem como objetivo principal centralizar o acesso aos dados em
uma única camada. Esse design pattern é o
DTO
MVC
Business Object
Application Service
DAO
Respondido em 16/04/2020 08:30:04
4a Questão
O Design Patterns que tem a finalidade de usar compartilhamento para suportar grandes quantidades de objetos, de granularidade
fina, de maneira eficiente, é denominado
Flyweight
Strategy
State
Composite
Builder
Respondido em 16/04/2020 08:29:54
5a Questão
Quais dos padrões abaixo corresponde aos padrões de criação.
Singleton, Strategy, Template Method
Adapter, Bridge, Composite.
Mediator, Memento, Observer
Chain of Responsibility, Command, Iterator
Abstract Factory, Builder, Factory Method
Respondido em 16/04/2020 08:29:55
Explicação:
Os padrões de criação são aqueles que abstraem e ou adiam o processo criação dos objetos. Eles ajudam a tornar um sistema
independente de como seus objetos são criados, compostos e representados. Um padrão de criação de classe usa a herança para
variar a classe que é instanciada, enquanto que um padrão de criação de objeto delegará a instanciação para outro objeto.
Há três grupos de Padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões
Comportamentais.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/4
Os Padrões de Criação fornecem um guia de como instanciar objetos. Esta ação normalmente
envolve decisões dinâmicas para escolher, por exemplo, qual classe instanciar ou a quais objetos
delegar responsabilidade. Esse padrão nos mostra como estruturar e encapsular essas decisões.
Há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory Method, Prototype e
Singleton.
6a Questão
Observando o diagrama de classes abaixo, verificamos a aplicação de um padrão de criação
GOF.
Qual padrão foi utilizado para organizar as classes?
Singleton
State
Template Method
Abstract Factory
Strategy
Respondido em 16/04/2020 08:30:10
7a Questão
Conhecido como padrões da guangue dos quatro, os padrões GoF estão classificados em:
Padrões de criação, padrões estruturais e padrões comportamentais.
Padrões de Interpretação, padrões de observação e padrões estruturais.
Padrões estruturais, padrões de comportamento e padrões de fábrica.
Padrões estruturais, padrões de emocionais e padrões de fábrica.
Padrões de criação, padrões de composição e padrões comportamentais.
Respondido em 16/04/2020 08:30:00
Explicação:
Gang of Four - Gangue dos Quatro.
Há três grupos de Padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões
Comportamentais.
8a Questão
(ESAF - 2005 - Receita Federal - Auditor Fiscal da Receita Federal - Área Tecnologia da Informação) Analise as seguintes afirmações
relacionadas a padrões de projetos: I. O padrão Builder separa a construção de um objeto complexo de sua representação, de
modo a que o mesmo processo de construção possa criar diferentes representações. II. O método Abstract Factory fornece uma
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0…4/4
interface para a criação de uma família de objetos relacionados ou dependentes sem especifi car suas classes completas. III. O
padrão Bridge defi ne uma interface para criar um objeto, mas deixa as subclasses decidirem que classe será instanciada. O Bridge
permite a uma classe postergar a instanciação das subclasses. IV. O Chain of responsability usa compartilhamento para suportar
grandes quantidades de objetos e define uma dependência um-para-muitos entre objetos, de modo que quando um objeto muda
de estado, todos os seus dependentes são automaticamente notificados e atualizados. Indique a opção que contenha todas as
afirmações verdadeiras.
I e II
III e IV
II e III
I e III
II e IV
Respondido em 16/04/2020 08:30:02
javascript:abre_colabore('38403','186819094','3724176977');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 1a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A1_201803107685_V4 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
Dentre as alternativas abaixo identifique a que NÃO define uma situação em que deve ser utilizado o padrão Factory Method?
Quando se quer localizar num ponto único a conhecimento de qual subclasse está sendo usada.
Quando classes delegam responsabilidade para uma entre várias subclasses de apoio.
Quando uma classe quer que suas subclasses especifiquem os objetos criados.
Quando o algoritmo de criação de um objeto deve ser independente das suas partes constituintes e da maneira como ele é
"montado".
Quando uma classe (o criador) não pode antecipar a classe dos objetos que deve criar.
Respondido em 16/04/2020 08:30:22
Explicação:
Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais. Há cinco padrões de criação
GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton.
O Factory Method é um Padrão de Criação. Esses Padrões de Criação fornecem um guia de
como instanciar objetos. Esta ação normalmente envolve decisões dinâmicas para escolher,
por exemplo, qual classe instanciar, ou a quais objetos delegar responsabilidade. Esse padrão
nos mostra como estruturar e encapsular essas decisões.
O objetivo do Factory Method (Método de Fábrica) é definir uma interface para criar um
objeto, mas deixar as subclasses definirem que classe instanciar. Definir uma interface para
criar um objeto mas deixar que subclasses decidam que classe instanciar.
2a Questão
Quais são os grupos de padrões de projeto GoF - Gang of Four - Gangue dos Quatro?
Padrões de Abstração, Padrões Estruturais e Padrões Comportamentais.
Padrões de Criação, Padrões Estruturais e Padrões de Composições.
Padrões de Criação, Padrões Estruturais e Padrões Comportamentais.
Padrões de Criação, Padrões de Construção e Padrões Comportamentais.
Padrões de Abstração, Padrões Construçãos e Padrões de Composições.
Respondido em 16/04/2020 08:30:24
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','1','','','315368821');
javascript:abre_frame('2','1','','','315368821');
javascript:abre_frame('3','1','','','315368821');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
Explicação:
Há três grupos de Padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões
Comportamentais..
3a Questão
Padrões de projeto são voltados para que tipo de problemas? Assinale a resposta INCORRETA.
Problemas que ocorrem no nosso dia-a-dia.
Problemas recorrentes.
Problemas na área de desenvolvimento de software.
Problemas eu qualquer área de conhecimento.
Problemas que não se repetem.
Respondido em 16/04/2020 08:30:26
Explicação:
Padrões de projeto são voltados para problemas recorrentes que ocorrem no nosso dia-a-dia, seja
na área de desenvolvimento de software, seja em qualquer outra área do conhecimento..
4a Questão
Analise as sentenças sobre padrões de projeto de software e, em seguida, assinale a alternativa correta:
I. Permitem descrever fragmentos de projeto e reusar ideias de projeto;
II. Dão nome e forma a procedimentos abstratos, regras e melhores práticas relativas às técnicas orientadas a objetos;
III. Ajudam a escolher alternativas de projeto que tornam um sistema reutilizável.
Apenas as sentenças I e II estão corretas
Apenas a sentença II está correta
Todas as sentenças estão corretas
Apenas as sentenças II e III estão corretas
Apenas as sentenças I e III estão corretas
Respondido em 16/04/2020 08:30:16
Explicação:
Isso porque padrões de projeto são voltados para problemas recorrentes que ocorrem no
nosso dia-a-dia, seja na área de desenvolvimento de software, seja em qualquer outra área
do conhecimento.
Os padrões de projeto são descrições de objetos que se comunicam e classes que são
customizadas para resolver um problema genérico de design em um contexto específico.
5a Questão
Além dos benefícios tradicionais relacionados com produtividade, redução do tempo de desenvolvimento e reaproveitamento de
soluções passadas, a utilização de padrões de projeto pode contribuir ainda nos seguintes aspectos I - É uma abordagem
complementar, auxiliam os analistas e desenvolvedores a melhor utilizar as práticas tradicionais de análise e projeto orientado a
objetos, tais como abstração, encapsula mento, herança, polimorfismo, entre outros. II ¿ Cada padrão descreve um conjunto de
problemas e a solução é única não podendo ser alterado III - Auxiliam programadores inexperientes a desenvolverem soluções
mais elegantes, melhor documentadas, padronizadas e reutilizáveis. IV - Muitos dos padrões de projeto desenvolvidos auxiliam no
re fatoramento da aplicação.
As afirmativas I, II, III estão corretas e a afirmativa IV está errada.
As afirmativas I, II, IV estão corretas e a afirmativa III está errada
As afirmativas II, III, IV estão corretas e a afirmativa I está errada.
As afirmativas I, II, III, IV estão corretas
As afirmativas I, III, IV estão corretas e a afirmativa II está errada
Respondido em 16/04/2020 08:30:18
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/4
Explicação:
Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais.
Na verdade são quatro aspectos que os padrões de projeto contribuem. Os informados nos itens I, III e IV, e mais: auxilia na
aprendizagem a partir da documentação de experiências passadas. Por esse motivo, o item II está errado.
6a Questão
Podemos afirmar que os Padrões de Criação da família GoF:
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
Colocam em dúvida o tratamento dispensado aos usuários na fase de levantamento das necessidades.
Subutilizam as rotinas de tratamento de erros, em virtude da depuração de código fonte na fase de levantamento das
necessidades junto aos usuários.
Fornecem um guia de como instanciar objetos, que normalmente envolve decisões dinâmicas para escolher, por exemplo,
qual classe instanciar ou a quais objetos delegar responsabilidade.
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e colaboração
mútua.
Respondido em 16/04/2020 08:30:19
Explicação:
Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais.
Os padrões de criação GoF contemplam 5 (cinco) tipos de padrões: Abstract Factory, Builder, Factory Method, Prototype e
Singleton.
Os Padrões de Criação Fornecem um guia de como instanciar objetos. Esta ação normalmente envolve decisões dinâmicas para
escolher, por exemplo, qual classe instanciarou a quais objetos delegar responsabilidade. Esse padrão nos mostra como estruturar
e encapsular essas decisões
7a Questão
(CESGRANRIO - 2008 - BNDES - Profissional Básico - Especialidade - Análise de Sistemas) Ao alterar o estado de uma classe, o
desenvolvedor deseja que uma ou mais classes da interface gráfica sejam modificadas. Entretanto, o desenvolvedor não acha
interessante criar um acoplamento forte entre essas classes. Qual padrão de projeto comportamental é mais adequado para
resolver essa situação?
Adapter
Decorator
Abstract Factory
Observer
Composite
Respondido em 16/04/2020 08:30:21
8a Questão
(FCC-2011) Os design patterns
são de uso exclusivo em processos de desenvolvimento de soluções orientado a objetos, já que os objetos são a mais
adequada abstração para o reúso.
consistem em conjuntos de classes que um usuário instancia para utilizar seus métodos. Após a chamada ao método, o
controle do fluxo da aplicação retorna para o usuário.
são projetos de arquitetura para um domínio específico de aplicação e sempre trazem componentes predefinidos que
envolvem código de programação.
são aplicações propriamente ditas, normalmente construídas pela integração de diversos frameworks.
podem ser modelados utilizando-se a linguagem UML que fornece um meio eficiente de modelar pa- drões de projeto
representando-os como colaborações.
Respondido em 16/04/2020 08:30:23
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/4
javascript:abre_colabore('38403','186819120','3724177653');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/3
PADRÕES DE PROJETO DE SOFTWARE 1a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A1_201803107685_V5 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
(FUMARC - 2011) São padrões de projeto GoF (design patterns), EXCETO:
Strategy.
Visitor.
Criador.
Adapter.
Facade.
Respondido em 16/04/2020 08:30:31
2a Questão
Qual o objetivo dos Padrões de Criação? Assinale a opção CORRETA.
Fornecem um guia de como instanciar objetos, e envolve decisões dinâmicas para escolher
qual classe instanciar.
Tratam da composição de classes e objetos para formar estruturas complexas.
Oferecem formas efetivas para usar conceitos OO como herança e composição.
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando
sua integração e colaboração mutua.
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando
sua integração e colaboração mutua.
Respondido em 16/04/2020 08:30:33
Explicação:
Essa afirmativa está CORRETA porque as outras se referem a Padrões Estruturais.
3a Questão
Uma das categoria que tradicionalmente se classificam os padrões de projeto: Padrões de criação cujo objetivo é:
Define como implantar o mecanismo de herança em um grupo de objetos
Define formas de instanciar objetos delegando responsabilidades
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','1','','','315368821');
javascript:abre_frame('2','1','','','315368821');
javascript:abre_frame('3','1','','','315368821');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/3
Define como implantar um novo método em uma classe.
Define a forma de organização dos objetos e sua colaboração mutua
Define formas de gerencia e combinar diferentes comportamentos.
Respondido em 16/04/2020 08:30:35
Explicação:
Isso porque padrões de projeto são voltados para problemas recorrentes que ocorrem no
nosso dia-a-dia, seja na área de desenvolvimento de software, seja em qualquer outra área
do conhecimento.
Ao caracterizarmos os padrões de projeto por Finalidade, temos: Estruturais, de Criação e
Comportamentais.
Os de Criação são associados ao processo de criação de objetos e também tornam um
sistema independente de como seus objetos são criados, compostos e representados.
4a Questão
O Padrão de Projeto que define uma Interface para criar um objeto e também é conhecido como "Construtor Virtual" chama-se:
Abstract Factory
Business Delegate
Factory Method
Template Method
Dependency Injection
Respondido em 16/04/2020 08:30:49
Gabarito
Coment.
5a Questão
Como a adoção de um padrão de projeto pode auxiliar o desenvolvimento de software?
Por meio da adoção de qualquer padrão, desde que seja um dos que foram aceitos pela comunidade internacional
Alterando a forma com que os objetos são criados e transformar a criação de objetos uma função específica de classes
herdadas
Por meio da aplicação obrigatória de ao menos um dos padrões GOF
Alterando o meio de acessar classes por meio de Interfaces e Dependências
Por meio da sugestão de melhorias nos acessos e estruturação de situações problemáticas
Respondido em 16/04/2020 08:30:39
6a Questão
Especificar os tipos de objetos a serem criados usando uma instância como
protótipo e criar novos objetos ao copier este protótipo. Para qual padrão de
projeto a afirmação se relaciona?
Nra
Observer
Adapter
Memento
Abstract Factory
Respondido em 16/04/2020 08:30:41
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/3
7a Questão
Qual a função do Padrão de Method Factory?
Fornece uma interface para criação de famílias de objetos relacionados ou dependentes sem especificar suas classes
completas.
Especifica os tipos de objetos a serem criados usando uma instância-protótipo e cria novos objetos pela cópia desse
protótipo.
Nenhuma das alternativas
Define uma interface para criar um objeto, mas deixa as subclasses decidirem que classe instanciar. O padrão permite
adiar a instanciação para subclasses.
Separa a construção de um objeto complexo da sua representação de modo que o mesmo processo de construção possa
criar diferentes representações.
Respondido em 16/04/2020 08:30:43
Explicação:
Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões
Comportamentais.
O Factory Method é um Padrão de Criação. Esses Padrões de Criação fornecem um guia de como
instanciar objetos. Esta ação normalmente envolve decisões dinâmicas para escolher, por exemplo,
qual classe instanciar, ou a quais objetos delegar responsabilidade. Esse padrão nos mostra como
estruturar e encapsular essas decisões.
O objetivo do Factory Method (Método de Fábrica) é definir uma interface para criar um objeto,
mas deixar as subclasses definirem que classe instanciar.
8a Questão
Analise as sentenças abaixo sobre os grupos de padrões da família GoF e, em seguida, assinale a alternativa correta:
I. Os Padrões Comportamentais são projetados para organizar, gerenciar e combinar diferentes comportamentos. Podemos citar os
seguintes padrões pertencentes a esse grupo: Chain of Responsibility, Command e Interpreter.
II. Os Padrões de Criação fornecem um guia de como instanciar objetos. Esta ação normalmente envolve decisões estáticas para
escolher, por exemplo, quais objetos instanciar ou a quais classes delegar responsabilidade. São doze os padrões de criação:
Adapter, Bridge, Composite, Decorator, Façade, Flyweight, Proxy, Abstract Factory, Builder, Factory Method, Prototype e Singleton.
III. Os Padrões Estruturais definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração
e colaboração mútua.
Apenas as sentenças II e III estão corretas
Apenas a sentença II está correta
Apenas as sentenças I e II estão corretas
Apenas as sentenças I e III estão corretas
Todas as sentenças estão corretas
Respondidoem 16/04/2020 08:30:45
Explicação:
Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais.
O item II está errado porque os padrões de Criação GoF contemplam 5 (cinco) tipos de padrões: Escopo por Classe: Factory
Method ; Escopo por Objeto: Abstract Factory, Builder, Prototype e Singleton.
Eles são associados ao processo de criação de objetos, e tornam um sistema independente de como seus objetos são criados,
compostos e representados.
Fornecem um guia de como instanciar objetos. Esta ação normalmente envolve decisões dinâmicas para escolher, por exemplo,
qual classe instanciar ou a quais objetos delegar responsabilidade. Esse padrão nos mostra como estruturar e encapsular essas
decisões.
javascript:abre_colabore('38403','186819142','3724178060');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 2a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A2_201803107685_V1 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
Analise as afirmativas abaixo, com relação aos padrões de projeto, e marque a opção correta.
I - O Singleton é um padrão que garante que uma classe tenha apenas uma instância.
II - Alguns padrões de criação como o Prototype, o Proxy e o Façade não são adequados para a programação orientada a
objetos.
III - Adapter é um padrão estrutural utilizado para compatibilizar interfaces de modo que elas possam interagir.
Apenas I e II estão corretas
Apenas I e III estão corretas
Todas as afirmativas estão corretas
Apenas I está correta
Todas as afirmativas estão incorretas
Respondido em 16/04/2020 08:30:53
Explicação:
O item II está errado porque o padrão de projeto Singleton é um dos padrões mais conhecidos e
extensivamente utilizados em programação orientada a objetos.
Está direcionado para as situações onde precisamos manter uma única instancia de uma classe
durante toda a execução da aplicação. A sua estrutura é bastante simples, existe apenas uma
classe chamada Singleton, que define um método chamado Instance, responsável poder retornar
aos clientes à única instancia da classe.
2a Questão
Acerca dos padrões de criação e de padrões estruturais, assinale a opção correta.
O padrão adaptador de classe (class adapter) facilita acomodar a adaptação de subclasses de uma classe previamente
adaptada.
Uma das consequências do uso do padrão Prototype é o aumento no uso de subclasses.
São participantes do padrão Façade: o cliente, o alvo, o adaptador e o adaptado.
São exemplos de padrões estruturais: Adapter, Façade, Proxy, Composite, Decorator e Chain of Responsibility.
O uso do padrão singleton apresenta como consequências uma redução do uso de variáveis globais e uma melhor
organização do espaço de nomes de um software orientado a objetos.
Respondido em 16/04/2020 08:31:09
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','2','','','315368803');
javascript:abre_frame('2','2','','','315368803');
javascript:abre_frame('3','2','','','315368803');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
Explicação:
Os Padrões de Criação fornecem um guia de como instanciar objetos. Esta ação normalmente
envolve decisões dinâmicas para escolher, por exemplo, qual classe instanciar, ou a quais objetos
delegar responsabilidade. Esse padrão nos mostra como estruturar e encapsular essas decisões.
O padrão de projeto Singleton é um dos padrões mais conhecidos e extensivamente utilizados
em programação orientada a objetos.
Está direcionado para as situações onde precisamos manter uma única instancia de uma classe
durante toda a execução da aplicação. A sua estrutura é bastante simples, existe apenas uma
classe chamada Singleton, que define um método chamado Instance, responsável poder retornar
aos clientes à única instancia da classe.
3a Questão
O padrão Singleton é um Padrão de Criação GoF. Com relação aos seus objetivos podemos afirmar
que:
I- O padrão de projeto Singleton declara um método chamado clone na superclasse abstrata do
modelo.
II- O padrão Singleton está direcionado para as situações onde precisamos manter uma única
instancia de uma classe durante toda a execução da aplicação.
III- O padrão Singleton é bastante útil para guardar o estado de um objeto em determinados
momentos.
Est(á)ão correta(s) a(s) afirmativa(s):
Somente os itens I e II;
Somente o item II;
Somente os itens II e III;
Somente o item I;
Somente os itens I e III;
Respondido em 16/04/2020 08:31:12
Explicação:
Os itens I e III estão errados porque eles se referem ao padrão Prototype.
4a Questão
O padrão Singleton é um Padrão de Criação GoF. A grande vantagem deste padrão é: Assinale a
única resposta CORRETA.
Difícil ou impossível de implementar em ambiente distribuído;
Acesso central e extensível a recursos e objetos;
Criação "preguiçosa" é complicada em ambiente multithreaded;
Difícil de testar (simulações dependem de instância extra);
Qualidade da implementação depende da linguagem;
Respondido em 16/04/2020 08:31:13
Explicação:
Esta afirmativa é CORRETA porque as outras dizem respeito a desvantagens do padrão Singletos.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/4
5a Questão
Qual é o padrão GoF criacional correspondente ao código abaixo?
public static void main(String[] args) {
ObraPadrao obraPadrao = new ObraPadrao();
ObraPadrao obraNova = obraPadrao.clonar();
obraNova.setValor(200000.0);
.....
.....
Builder
Adapter
Factory Method
Singleton
Prototype
Respondido em 16/04/2020 08:31:04
Explicação:
O padrão Prototype especifica tipos a criar usando uma instância como protótipo e criar novos
objetos ao copiar este protótipo. O padrão de projeto Prototype declara um método chamado clone
na superclasse abstrata do modelo (Prototype)
6a Questão
Qual dos padrões GOF abaixo é mais indicado quando necessitamos criar objetos de uma determinada classe, os quais só têm
alguns poucos estados possíveis e é melhor copiá-los e aproveitar o seu estado atual do que criar um novo objeto no estado inicial.
Builder
Singleton
Abstract Factory
Decorator
Prototype
Respondido em 16/04/2020 08:31:06
7a Questão
O padrão de projeto Singleton é usado para restringir:
Um Classes de atributos complexos.
A instanciação de uma classe para apenas um objeto
As relações entre classes e objetos
A quantidade de classes.
São A instanciação de uma classe para objetos simples.
Respondido em 16/04/2020 08:31:07
Explicação:
Os padrões de criação são aqueles que abstraem e ou adiam o processo criação dos objetos. Eles ajudam a tornar um sistema
independente de como seus objetos são criados, compostos e representados.
O padrão de projeto Singleton é um dos padrões mais conhecidos e extensivamente utilizados
em programação orientada a objetos.
Está direcionado para as situações onde precisamos manter uma única instancia de uma classe
durante toda a execução da aplicação. A sua estrutura é bastante simples, existe apenas uma
classe chamada Singleton, que define um método chamado Instance, responsável poder retornar
aos clientes à única instancia da classe.
Na linguagem Java os modificadores states e private devem garantir uma mesma instância para
todos os objetos criados e evitar acesso público.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/4
8a Questão
Conhecido como padrões da gangue dos quatro, por terem sido desenvolvidospor quatro autores, os Padrões GoF (Group of Four)
estão divididos pelos seguintes famílias de padrões: Padrões de Criação ou de Construção, Padrões Estruturais e Padrões
Comportamentais.
Considerando os padrões de Criação ou de Construção, analise o modelo abaixo e em seguida marque a alternativa que define a
representação.
BUILDER.
MEDIATOR.
PROTOTYPE.
SINGLETON.
FACTORY METHOD.
Respondido em 16/04/2020 08:31:10
Explicação:
Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais:
Os padrões de criação GoF contemplam 5 (cinco) tipos de padrões: Abstract Factory, Builder, Factory Method, Prototype e Singleton.
Os Padrões de Criação fornecem um guia de como instanciar objetos. Esta ação normalmente envolve decisões dinâmicas para
escolher, por exemplo, qual classe instanciar ou a quais objetos delegar responsabilidade. Esse padrão nos mostra como estruturar e
encapsular essas decisões
O padrão Prototype por definição ¿Especifica os tipos de objetos a serem criados usando uma instância como protótipo e criar novos
objetos ao copiar este protótipo¿. Declara um método chamado clone na superclasse abstrata do modelo (Prototype).
javascript:abre_colabore('38403','186819176','3724178716');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 2a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A2_201803107685_V2 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
i) Decorator permite anexar responsabilidades adicionais a um objeto dinamicamente.
ii) Builder desacopla uma abstração de sua implementação para que os dois possam variar independentemente.
iii) Mediator fornece um substituto ou ponto através do qual um objeto possa controlar o acesso a outro.
Em relação aos itens acima está correto:
somente a ii
somente a iii
somente a i
somente a i e ii
somente a ii e iii
Respondido em 16/04/2020 08:31:18
Explicação:
O item II está errado porque o padrão BUILDER é um Padrão de Criação. É um padrão cuja
responsabilidade é a CONSTRUÇÃO
Tentam minimizar a carga que os desenvolvedores têm ao ato de criar objetos dentro de um
construtor. Isso é comum em desenvolvedores iniciantes.
O item III está errado porque o padrão Mediator é um padrão define um objeto que encapsula a
forma como um conjunto de objetos interage, promovendo o acoplamento fraco ao evitar que os
objetos se refiram uns aos outros explicitamente, permitindo variar suas interações
independentemente.
2a Questão
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¿
Adapter
Prototype
nenhuma das alternativas
Singleton
Bridge
Respondido em 16/04/2020 08:31:20
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','2','','','315368803');
javascript:abre_frame('2','2','','','315368803');
javascript:abre_frame('3','2','','','315368803');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
Explicação:
Há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory Method, Prototype e
Singleton. O padrão Prototype especifica tipos a criar usando uma instância como protótipo e
criar novos objetos ao copiar este protótipo. O padrão de projeto Prototype declara um método
chamado clone na superclasse abstrata do modelo (Prototype)
3a Questão
(CESGRANRIO - 2006 - Petrobrás ) Christopher Alexander afirma: "cada padrão descreve um problema no nosso ambiente e o
cerne da sua solução, de tal forma que você possa usar essa solução mais de um milhão de vezes, sem nunca faze-lo da mesma
maneira". Muito embora Alexander estivesse falando a cerca de padrões em construções e cidades, o que ele diz é verdadeiro em
relação aos padrões de projeto orientados a objeto. Neste caso, as soluções são expressas em termos de objetos e interfaces em
vez de paredes e portas, mas no cerne de ambos os tipos de padrões está a solução para um problema num determinado contexto.
Quanto à indicação para o uso dos padrões de projeto é FALSO afirmar que o padrão:
Abstract Factory é indicado quando: um sistema deve ser independente de como seus produtos são criados, compostos ou
representados; um sistema deve ser configurado como um produto de uma família de múltiplos produtos; uma família de
objetos-produto for projetada para ser usada em conjunto, e você necessita garantir esta restrição; você quer fornecer
uma biblioteca de classes de produtos e quer revelar somente suas interfaces, não suas implementações.
Mediator é indicado quando: um conjunto de objetos se comunica de maneiras bem definidas, porém complexas; a
reutilização de um objeto é difícil porque ele referencia e se comunica com muitos outros objetos; um comportamento que
está distribuído entre várias classes deveria ser customizável, ou adaptável, sem excessiva especialização em subclasses.
Builder é indicado quando: uma classe não pode antecipar a classe de objetos que deve criar; uma classe quer que suas
subclasses especifiquem os objetos que criam; classes delegam responsabilidade para uma dentre várias subclasses
auxiliares, e você quer localizar o conhecimento de qual subclasse auxiliar que é a delegada.
Memento é indicado quanto: um instantâneo de estado de um objeto deve ser salvo de maneira que possa ser restaurado
para esse estado mais tarde; uma interface direta para obtenção do estado exporia detalhes de implementação e romperia
o encapsulamento do objeto.
Composite é indicado quando: quiser representar hierarquias partes-todo de objetos; quiser que os clientes sejam capazes
de ignorar a diferença entre composições de objetos e objetos individuais, neste caso, os clientes tratarão todos os objetos
na estrutura composta de maneira uniforme.
Respondido em 16/04/2020 08:31:34
Explicação:
Há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory Method, Prototype e
Singleton.
Esses Padrões de Criação fornecem um guia de como instanciar objetos. Esta ação normalmente
envolve decisões dinâmicas para escolher, por exemplo, qual classe instanciar, ou a quais objetos
delegar responsabilidade. Esse padrão nos mostra como estruturar e encapsular essas decisões.
Essa afirmativa é falsa porque o BUILDER é um Padrão de Criação. É um padrão cuja
responsabilidade é a CONSTRUÇÃO
Tentam minimizar a carga que os desenvolvedores têm ao ato de criar objetos dentro de um
construtor. Isso é comum em desenvolvedores iniciantes.
4a Questão
Qual padrão separa a construção de um objeto complexo da sua representação de modo que o mesmo processo de construção
possa criar diferentes representações?
Nenhuma das anteriores.
Factory Method.
Prototype.
Builder.
Singleton.
Respondido em 16/04/2020 08:31:36
Explicação:
Há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory Method, Prototype e
Singleton.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/4
O padrão Builder tenta minimizar a carga que os desenvolvedores tem ao ato de criar objetos
dentro de um construtor. Isso é comum em desenvolvedores iniciantes.
O BUILDER é um Padrão de Criação. É um padrão cuja responsabilidade é a CONSTRUÇÃO
Tentam minimizar a carga que os desenvolvedores têm ao ato de criar objetos dentro de um
construtor. Isso é comum em desenvolvedores iniciantes.
5a Questão
O padrão Prototype é um Padrão de Criação GoF. Com relação aos seus objetivos podemos afirmar
que:
I- O padrão de projeto Prototype declara um método chamado clone na superclasse abstratado
modelo.
II- O padrão Prototype tem a função de tentar minimizar a carga que os desenvolvedores têm ao
ato de criar objetos dentro de um construtor.
III- O padrão Prototype é bastante útil para guardar o estado de um objeto em determinados
momentos.
Est(á)ão correta(s) a(s) afirmativa(s):
Somente os itens I e III;
Somente o item I;
Somente os itens I e II;
Somente o item II;
Somente os itens II e III;
Respondido em 16/04/2020 08:31:37
Explicação:
O item II está errado porque ela se refere ao padrão Builder.
6a Questão
Dentre as opções apresentadas para o padrão Prototype, no que se refere, as aplicações para este padrão de projeto, assinale a
única que estrá correta.
facilidade de instanciar classes em tempo de programação;
facilidade de instanciar classes em tempo de execução.
facilidade de eliminar classes em tempo de execução;
facilidade de copiar classes em tempo de execução.
facilidade de instanciar classes em tempo de geração do SGDB
Respondido em 16/04/2020 08:31:40
Gabarito
Coment.
7a Questão
Qual padrão garante que uma classe tem somente uma instância e fornece um ponto global de acesso a mesma?
Singleton.
Factory Method.
Builder.
Nenhuma das anteriores.
Abstract Factory.
Respondido em 16/04/2020 08:31:42
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/4
Explicação:
Há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory Method, Prototype e
Singleton.
Esses Padrões de Criação fornecem um guia de como instanciar objetos. Esta ação normalmente
envolve decisões dinâmicas para escolher, por exemplo, qual classe instanciar, ou a quais objetos
delegar responsabilidade. Esse padrão nos mostra como estruturar e encapsular essas decisões.
O padrão de projeto Singleton é um dos padrões mais conhecidos e extensivamente utilizados
em programação orientada a objetos.
Está direcionado para as situações onde precisamos manter uma única instancia de uma classe
durante toda a execução da aplicação. A sua estrutura é bastante simples, existe apenas uma
classe chamada Singleton, que define um método chamado Instance, responsável poder retornar
aos clientes à única instancia da classe.
Na linguagem Java os modificadores states e private devem garantir uma mesma instância para
todos os objetos criados e evitar acesso público.
8a Questão
O padrão de projeto Singleton é um dos padrões mais conhecidos e extensivamente utilizados em programação orientada a
objetos. Sobre ele podemos afirmar I - Está direcionado para as situações onde precisamos manter uma única instancia de uma
classe durante toda a execução da aplicação. II - A sua estrutura é bastante simples, existe apenas uma classe chamada Singleton,
que define um método chamado Instance, responsável poder retornar aos clientes à única instancia da classe. III ¿ Na linguagem
Java os modificadores states e private devem garantir uma mesma instância para todos os objetos criados e evitar acesso público;
As afirmativas I, III, estão corretas e II errada
As afirmativas estão todas corretas
As afirmativas I, II, estão corretas e a afirmativa III está errada.
As afirmativas II, III estão corretas e a afirmativa I está errada.
As afirmativas I, II, III estão incorretas
Respondido em 16/04/2020 08:31:44
Explicação:
Há cinco padrões de criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton.
O Singleton é um Padrão de Criação. Esses Padrões de Criação fornecem um guia de como instanciar objetos.
O objetivo do Singleton é garantir que uma classe só tenha uma única instância, e prover
um ponto de acesso global a ela. Os Singletons são uma forma de implementar uma
responsabilidade centralizada. O instanciamento do objeto pode ser feito quando a classe
for carregada ou quando o método de criação for chamado pela primeira vez.
javascript:abre_colabore('38403','186819200','3724178832');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 2a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A2_201803107685_V3 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
O padrão Builder é um Padrão de Criação GoF. Com relação aos seus objetivos podemos afirmar
que:
I- O padrão Builder é um padrão utilizado na instanciação de objetos complexos.
II- O padrão Builder tem a função de tentar minimizar a carga que os desenvolvedores têm ao ato
de criar objetos dentro de um construtor.
III- O padrão Builder é bastante útil para guardar o estado de um objeto em determinados
momentos.
Est(á)ão correta(s) a(s) afirmativa(s):
Somente os itens II e III;
Somente os itens I e II;
Somente os itens I e III;
Somente o item I;
Somente o item II;
Respondido em 16/04/2020 08:31:42
Explicação:
O item III está errado porque ela se refere ao padrão Prototype.
2a Questão
Qual o objetivo do padrão Builder? Assinale a opção INCORRETA.
Declara um método chamado clone na superclasse abstrata do modelo.
Atribuir a responsabilidade de criação do objeto complexo a outra classe.
Minimizar a carga que os desenvolvedores têm ao ato de criar objetos dentro de um
construtor.
É utilizado na instanciação de objetos complexos.
Separar a construção de um objeto complexo da sua representação de modo que o mesmo
processo de construção possa criar diferentes representações.
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','2','','','315368803');
javascript:abre_frame('2','2','','','315368803');
javascript:abre_frame('3','2','','','315368803');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
Respondido em 16/04/2020 08:31:56
Explicação:
Essa afirmativa está INCORRETA porque ela se refere ao padrão Prototype.
3a Questão
¿Os padrões de criação abstraem o processo de instanciação. Um padrão de criação de classe usa a herança para variar a classe
que é instanciada, enquanto que um padrão de criação de objeto delegará a instanciação para outro objeto.¿ Padrões Projeto, 1º
edição/2000.Gamma. Segundo Metsker, 2004, o padrão de projeto _____________________ tem como solução mover a lógica de
construção de uma classe para um objeto externo, a fim de reduzir a complexidade da mesma e permitir a construção gradual de
objetos-alvo a partir dessa classe. Escolha uma das alternativas abaixo que preenche corretamente a lacuna apresentada na
descrição acima.
Abstract Factory
Facade
Singleton
Factory Method
Builder
Respondido em 16/04/2020 08:31:46
4a Questão
Qual padrão especifica os tipos de objetos a serem criados usando uma instância-protótipo e cria novos objetos pela cópia desse
protótipo?
Factory Method.
Singleton.
Prototype.
Abstract Factory.
Nenhuma das anteriores.
Respondido em 16/04/2020 08:31:59
Explicação:
Há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory Method, Prototype e
Singleton
O PROTOTYPE é um Padrão de Criação. É um padrão cuja responsabilidade é a CONSTRUÇÃO
Ele especifica os tipos de objetos a serem criados usando uma instância como protótipo e criar
novos objetos ao copiar este protótipo.
5a Questão
O padrão Singleton é um Padrão de Criação GoF. A estrutura desse padrão utiliza alguns recursos.
Assinale o único recurso que NÃO pertence a esse padrão.
Declarar o método getInstance como synchronized para que o método seja executado por
uma thread por vez, quando utilizado em programas multi-thread;
Modificadores static e private para garantir uma mesma instância para todos os objetos
criados e evitar acesso público;
Construtor da classe privado, para não permitir a instânciade novos objetos da classe;
Modificando as aplicações para este padrão de projeto para que a facilidade de instanciar
classes em tempo de execução possa acontecer;
Modificar static para implementar o método getInstance e, assim, retornar a instancia
apropriada ou criá-la, caso seja a primeira vez;
Respondido em 16/04/2020 08:32:01
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/4
Explicação:
Esta afirmativa NÃO pertence ao padrão Singleton, porque está relacionada ao padrão Prototype.
6a Questão
O padrão de projeto Singleton é usado para restringir:
As relações entre classes e objetos.
A quantidade de classes.
A instanciação de uma classe para objetos simples.
A instanciação de uma classe para apenas um objeto.
Classes de atributos complexos.
Respondido em 16/04/2020 08:31:51
Explicação:
Há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory Method, Prototype e
Singleton.
Esses Padrões de Criação fornecem um guia de como instanciar objetos. Esta ação normalmente
envolve decisões dinâmicas para escolher, por exemplo, qual classe instanciar, ou a quais objetos
delegar responsabilidade. Esse padrão nos mostra como estruturar e encapsular essas decisões.
O padrão de projeto Singleton é um dos padrões mais conhecidos e extensivamente utilizados
em programação orientada a objetos.
Está direcionado para as situações onde precisamos manter uma única instancia de uma classe
durante toda a execução da aplicação. A sua estrutura é bastante simples, existe apenas uma
classe chamada Singleton, que define um método chamado Instance, responsável poder retornar
aos clientes à única instancia da classe.
Na linguagem Java os modificadores states e private devem garantir uma mesma instância para
todos os objetos criados e evitar acesso público.
7a Questão
O padrão de projeto singleton é usado para restringir:
as relações entre classes e objetos.
a instanciação de uma classe para objetos simples.
classes de atributos complexos
a quantidade de classes
a instanciação de uma classe para apenas um objeto.
Respondido em 16/04/2020 08:32:05
Explicação:
Há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory Method, Prototype e
Singleton.
O padrão de projeto Singleton é um dos padrões mais conhecidos e extensivamente utilizados
em programação orientada a objetos.
Está direcionado para as situações onde precisamos manter uma única instancia de uma classe
durante toda a execução da aplicação. A sua estrutura é bastante simples, existe apenas uma
classe chamada Singleton, que define um método chamado Instance, responsável poder retornar
aos clientes à única instancia da classe.
8a Questão
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/4
Sobre o padrão ¿Builder ¿, escolha a opção que descreve seu(s) objetivo(s):
Concatenar a construção de um objeto complexo de sua representação para que o mesmo processo de construção possa
criar representações diferentes.
Separar a construção de um objeto que seja bem simples de sua representação para que o mesmo processo de construção
possa criar representações iguais.
Unir a construção e implementação, de um objeto complexo, de sua representação para que o mesmo processo de
instanciação possa criar representações diferentes.
Separar a construção de um objeto complexo de sua representação para que o mesmo processo de construção possa criar
representações diferentes.
Separar a construção de um objeto complexo de sua representação para que o mesmo processo de separação criar
representações iguais mas com serviços diferentes.
Respondido em 16/04/2020 08:31:55
Explicação:
O BUILDER é um Padrão de Criação. É um padrão cuja responsabilidade é a CONSTRUÇÃO
Tentam minimizar a carga que os desenvolvedores têm ao ato de criar objetos dentro de um
construtor. Isso é comum em desenvolvedores iniciantes.
javascript:abre_colabore('38403','186819229','3724179488');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 2a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A2_201803107685_V4 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
A implementação do padrão de projeto PROTOTYPE é facilitada quando usada na linguagem de programação ________ com a
utilização da interface Cloneable, utilizada apenas para indicar que o método Object.clone() pode realizar uma cópia, atributo por
atributo, das instâncias da classe. Assinale a opção que complementa corretamente a lacuna.
C ++;
HTML;
ASSENBLY;
Qualquer linguagem orientada a objeto.
JAVA;
Respondido em 16/04/2020 08:32:02
Gabarito
Coment.
2a Questão
(CESGRANRIO - 2010) Em um sistema de software para controlar pedidos para entrega em domicílio, deve haver uma
funcionalidade que permita que o atendente solicite a repetição de um pedido anteriormente feito por um cliente. O gerente do
restaurante informou que essa funcionalidade aumentaria a agilidade no atendimento aos clientes, visto que muitos deles tendem a
fazer pedidos similares aos que já fizeram anteriormente. Ao usar essa funcionalidade, o atendente do restaurante seleciona um
pedido cuja composição corresponde a produtos normalmente requisitados pelos clientes e solicita ao sistema a construção de um
novo pedido igual ao selecionado. Esse novo pedido pode, então, ser alterado pelo atendente se o cliente solicitar a adição de
novos produtos do cardápio, por exemplo. Portanto, a parte principal dessa funcionalidade corresponde a criar uma cópia de um
pedido a partir de pedido preexistente.
Na implementação dessa funcionalidade, seu desenvolvedor deve utilizar qual padrão de projeto do catálogo GoF (Gang of Four),
dentre os listados abaixo?
Prototype.
Command.
Builder.
Abstract Factory.
Factory Method.
Respondido em 16/04/2020 08:32:04
3a Questão
Considere as afirmativa abaixo sobre o padrão Builder: I ) É utilizado na instanciação de objetos complexos. II)É visto como um
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','2','','','315368803');
javascript:abre_frame('2','2','','','315368803');
javascript:abre_frame('3','2','','','315368803');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
construtor especializado, que irá executar e avaliar diferentes regras de negócio e demais particularidades relacionadas com a
criação de um novo objeto. III )A idéia é atribuir a responsabilidade de criação do objeto complexo a outra classe, esta classe irá
armazenar todas as configurações e regras necessárias para a instanciação do novo objeto.
As afirmativas I, III, estão corretas e II errada
As afirmativas I, II, estão corretas e a afirmativa III está errada.
As afirmativas II, III estão corretas e a afirmativa I está errada.
As afirmativas estão todas corretas
As afirmativas I, II, III estão incorretas
Respondido em 16/04/2020 08:32:06
Explicação:
Há cinco padrões de criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton.
O BUILDER é um Padrão de Criação. É um padrão cuja responsabilidade é a CONSTRUÇÃO
O padrão Builder é um padrão de cuja intenção é a Construção, ou seja, são padrões cuja responsabilidade é a CONSTRUÇÃO
O padrão Builder tenta minimizar a carga que os desenvolvedores tem ao ato de criar
objetos dentro de um construtor. Isso é comum em desenvolvedores iniciantes.
4a Questão
Conhecido como padrões da gangue dos quatro, por terem sido desenvolvidos por quatro autores, os Padrões GoF(Group of Four)
estão divididos pelos seguintes famílias de padrões: Padrões de Criação ou de Construção, Padrões Estruturais e Padrões
Comportamentais.
Considerando os padrões de Criação ou de Construção, analise o modelo abaixo e em seguida marque a alternativa que define a
representação.
BUILDER.
MEDIATOR.
SINGLETON.
FACTORY METHOD.
FACADE.
Respondido em 16/04/2020 08:32:20
Explicação:
Há cinco padrões de criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton.
O BUILDER é um Padrão de Criação. É um padrão cuja responsabilidade é a CONSTRUÇÃO
Tentam minimizar a carga que os desenvolvedores têm ao ato de criar objetos dentro de um construtor. Isso é comum em
desenvolvedores iniciantes.
5a Questão
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/4
Assinale a afirmativa correta sobre o padrão Builder:
A legibilidade da solução final, ou seja, para entender como um objeto é criado e sob quais condições, fica comprometida
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.
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.
é 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
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.
Respondido em 16/04/2020 08:32:22
Explicação:
O padrão Builder é um padrão de cuja intenção é a Construção, ou seja, são padrões cuja responsabilidade é a CONSTRUÇÃO
O padrão Builder tenta minimizar a carga que os desenvolvedores tem ao ato de criar objetos dentro de um construtor. Isso é
comum em desenvolvedores iniciantes.
6a Questão
Assinale dentre as opções abaixo, qual o padrão de projeto mais conhecidos e extensivamente utilizados em programação
orientada a objetos e que está direcionado para as situações onde é preciso manter uma única instancia de uma classe durante
toda a execução da aplicação.
Composite;
Decorator;
Prototipe:
Builder;
Singleton
Respondido em 16/04/2020 08:32:13
Gabarito
Coment.
7a Questão
(CESGRANRIO - 2009) Por motivo de segurança, deseja-se adicionar registro (log) das operações efetuadas no sistema de
contabilidade de uma empresa. O arquiteto do sistema decide que deve existir somente uma instância de uma classe de registro
(log) e que esta será o ponto de acesso global para os demais componentes do sistema.
Que padrão de projeto pode ser utilizado nesse caso?
Memento.
Iterator.
Singleton.
Bridge.
Visitor.
Respondido em 16/04/2020 08:32:15
8a Questão
Analise as afirmativas abaixo, com relação aos padrões de projeto, e marque a opção correta.
I - O Singleton é um padrão que garante que uma classe tenha apenas uma instância.
II - Alguns padrões de criação como o Prototype, o Proxy e o Façade não são adequados para a programação orientada a
objetos.
III - Adapter é um padrão estrutural utilizado para compatibilizar interfaces de modo que elas possam interagir.
Todas as afirmativas estão corretas
Todas as afirmativas estão incorretas
Apenas I e II estão corretas
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/4
Apenas I está correta
Apenas I e III estão corretas
Respondido em 16/04/2020 08:32:29
Explicação:
O item II está errado porque o padrão de projeto Singleton é um dos padrões mais conhecidos e
extensivamente utilizados em programação orientada a objetos.
Está direcionado para as situações onde precisamos manter uma única instancia de uma classe
durante toda a execução da aplicação. A sua estrutura é bastante simples, existe apenas uma
classe chamada Singleton, que define um método chamado Instance, responsável poder retornar
aos clientes à única instancia da classe.
javascript:abre_colabore('38403','186819250','3724179850');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 2a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A2_201803107685_V5 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
Qual é o padrão GoF criacional correspondente ao código abaixo?
public static void main(String[] args) {
ObraPadrao obraPadrao = new ObraPadrao();
ObraPadrao obraNova = obraPadrao.clonar();
obraNova.setValor(200000.0);
.....
.....
Factory Method
Prototype
Singleton
Builder
Adapter
Respondido em 16/04/2020 08:32:25
Explicação:
O padrão Prototype especifica tipos a criar usando uma instância como protótipo e criar novos
objetos ao copiar este protótipo. O padrão de projeto Prototype declara um método chamado clone
na superclasse abstrata do modelo (Prototype)
2a Questão
O padrão de projeto Singleton é usado para restringir:
Um Classes de atributos complexos.
A instanciação de uma classe para apenas um objeto
As relações entre classes e objetos
A quantidade de classes.
São A instanciação de uma classe para objetos simples.
Respondido em 16/04/2020 08:32:39
Explicação:
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','2','','','315368803');
javascript:abre_frame('2','2','','','315368803');
javascript:abre_frame('3','2','','','315368803');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
Os padrões de criação são aqueles que abstraem e ou adiam o processo criação dos objetos. Eles ajudam a tornar um sistema
independente de como seus objetos são criados, compostos e representados.
O padrão de projeto Singleton é um dos padrões mais conhecidos e extensivamente utilizados
em programação orientada a objetos.
Está direcionado para as situações onde precisamos manter uma única instancia de uma classe
durante toda a execução da aplicação. A sua estrutura é bastante simples, existe apenas uma
classe chamada Singleton, que define um método chamado Instance, responsável poder retornar
aos clientes à única instancia da classe.
Na linguagem Java os modificadores states e private devem garantir uma mesma instância para
todos os objetos criados e evitar acesso público.
3a Questão
Acerca dos padrões de criação e de padrões estruturais, assinale a opção correta.
O padrão adaptador de classe (class adapter) facilita acomodar a adaptação de subclasses de uma classe previamente
adaptada.
Uma das consequências do uso do padrão Prototype é o aumento no uso de subclasses.
O uso do padrão singleton apresenta como consequências uma redução do uso de variáveis globais e uma melhor
organização do espaço de nomes de um software orientado a objetos.
São participantes do padrão Façade: o cliente, o alvo, o adaptador e o adaptado.
São exemplos de padrões estruturais: Adapter, Façade, Proxy, Composite, Decorator e Chain of Responsibility.
Respondido em 16/04/2020 08:32:30
Explicação:
Os Padrões de Criação fornecem um guia de como instanciar objetos. Esta ação normalmente
envolve decisões dinâmicas para escolher, por exemplo, qual classe instanciar, ou a quais objetos
delegar responsabilidade. Esse padrão nos mostra como estruturar e encapsular essas decisões.
O padrão de projeto Singleton é um dos padrões mais conhecidos e extensivamente utilizados
em programação orientada a objetos.
Está direcionado para as situações onde precisamos manteruma única instancia de uma classe
durante toda a execução da aplicação. A sua estrutura é bastante simples, existe apenas uma
classe chamada Singleton, que define um método chamado Instance, responsável poder retornar
aos clientes à única instancia da classe.
4a Questão
Qual dos padrões GOF abaixo é mais indicado quando necessitamos criar objetos de uma determinada classe, os quais só têm
alguns poucos estados possíveis e é melhor copiá-los e aproveitar o seu estado atual do que criar um novo objeto no estado inicial.
Prototype
Builder
Singleton
Abstract Factory
Decorator
Respondido em 16/04/2020 08:32:32
5a Questão
Conhecido como padrões da gangue dos quatro, por terem sido desenvolvidos por quatro autores, os Padrões GoF (Group of Four)
estão divididos pelos seguintes famílias de padrões: Padrões de Criação ou de Construção, Padrões Estruturais e Padrões
Comportamentais.
Considerando os padrões de Criação ou de Construção, analise o modelo abaixo e em seguida marque a alternativa que define a
representação.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/4
FACTORY METHOD.
PROTOTYPE.
MEDIATOR.
BUILDER.
SINGLETON.
Respondido em 16/04/2020 08:32:33
Explicação:
Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais:
Os padrões de criação GoF contemplam 5 (cinco) tipos de padrões: Abstract Factory, Builder, Factory Method, Prototype e Singleton.
Os Padrões de Criação fornecem um guia de como instanciar objetos. Esta ação normalmente envolve decisões dinâmicas para
escolher, por exemplo, qual classe instanciar ou a quais objetos delegar responsabilidade. Esse padrão nos mostra como estruturar e
encapsular essas decisões
O padrão Prototype por definição ¿Especifica os tipos de objetos a serem criados usando uma instância como protótipo e criar novos
objetos ao copiar este protótipo¿. Declara um método chamado clone na superclasse abstrata do modelo (Prototype).
6a Questão
O padrão Singleton é um Padrão de Criação GoF. A grande vantagem deste padrão é: Assinale a
única resposta CORRETA.
Difícil ou impossível de implementar em ambiente distribuído;
Acesso central e extensível a recursos e objetos;
Difícil de testar (simulações dependem de instância extra);
Criação "preguiçosa" é complicada em ambiente multithreaded;
Qualidade da implementação depende da linguagem;
Respondido em 16/04/2020 08:32:48
Explicação:
Esta afirmativa é CORRETA porque as outras dizem respeito a desvantagens do padrão Singletos.
7a Questão
O padrão Singleton é um Padrão de Criação GoF. Com relação aos seus objetivos podemos afirmar
que:
I- O padrão de projeto Singleton declara um método chamado clone na superclasse abstrata do
modelo.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/4
II- O padrão Singleton está direcionado para as situações onde precisamos manter uma única
instancia de uma classe durante toda a execução da aplicação.
III- O padrão Singleton é bastante útil para guardar o estado de um objeto em determinados
momentos.
Est(á)ão correta(s) a(s) afirmativa(s):
Somente o item I;
Somente o item II;
Somente os itens II e III;
Somente os itens I e II;
Somente os itens I e III;
Respondido em 16/04/2020 08:32:50
Explicação:
Os itens I e III estão errados porque eles se referem ao padrão Prototype.
8a Questão
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¿
nenhuma das alternativas
Prototype
Singleton
Bridge
Adapter
Respondido em 16/04/2020 08:32:40
Explicação:
Há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory Method, Prototype e
Singleton. O padrão Prototype especifica tipos a criar usando uma instância como protótipo e
criar novos objetos ao copiar este protótipo. O padrão de projeto Prototype declara um método
chamado clone na superclasse abstrata do modelo (Prototype)
javascript:abre_colabore('38403','186819275','3724180005');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 3a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A3_201803107685_V1 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
Qual o objetivo do padrão Compositer? Assinale a opção INCORRETA.
Composite permite que o ganho que eu tenho com a programação para a interface seja
enorme.
Composite permite que clientes tratem objetos individuais e composições de objetos de
maneira uniforme.
Composite permite anexar responsabilidades adicionais a um objeto (em caráter dinâmico)
dinamicamente.
Composite permite que seja encapsulado os detalhes (como se eu falasse com um aluno ou
com vários alunos da mesma forma), o que permite uma programação muito mais leve.
Composite compõem objetos em estruturas de árvore para representar hierarquias todo-
parte.
Respondido em 16/04/2020 08:32:59
Explicação:
Essa afirmativa está INCORRETA, porque as outras se referem ao padrão Decorator.
2a Questão
Escolha a opção que descreve o objetivo do ¿Composite¿:
Criar instancias de objetos em estruturas que representam hierarquias de dependência de plataforma de implementação.
O Composite permite que clientes tratem objetos distintos, e as composições, desses objetos de maneira parecidas.
Compor objetos em estruturas de árvore para representar hierarquias todo-parte. Composite permite que clientes tratem
objetos em grupo e não objetos de maneira uniforme.
Compor objetos em estruturas de árvore para representar heranças de classes abstratas, que serão instanciadas. O
Composite permite que clientes tratem objetos individuais e composições de objetos de maneira uniforme.
Compor objetos em estruturas de árvore para representar hierarquias todo-parte. O Composite permite que clientes
tratem objetos individuais e composições de objetos de maneira uniforme.
Compor objetos em estruturas sequenciais para representar hierarquias de herança aplicada. O Composite permite que
clientes tratem objetos individuais e composições de objetos de maneira uniforme.
Respondido em 16/04/2020 08:33:01
Explicação:
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','3','','','315368809');
javascript:abre_frame('2','3','','','315368809');
javascript:abre_frame('3','3','','','315368809');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite,
Decorator, Façade, Flyweight e Proxy.
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua
integração e colaboração mutua.
O padrão Composite compõem objetos em estruturas de árvore para representar hierarquias
todo-parte. Composite permite que clientes tratem objetos individuais e composições de objetos
de maneira uniforme.
3a Questão
Qual padrão agrega dinamicamente responsabilidades adicionais a um objeto e fornece uma alternativa flexível ao uso de
subclasses para extensão de funcionalidades?
Builder.
Composite.
Nenhuma das anteriores.
Decorator.
Façade.
Respondido em 16/04/2020 08:33:02
Explicação:
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite,
Decorator, Façade, Flyweight e Proxy.
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua
integração e colaboração mutua.
O padrão Decoratoré um padrão de cuja intenção são as Extenções.
O padrão Decorator anexa responsabilidades adicionais a um objeto (em caráter dinâmico)
dinamicamente. Decorators oferecem uma alternativa flexível ao uso de herança para estender
uma funcionalidade.
4a Questão
Que padrão estrutural anexa dinamicamente responsabilidades adicionais a um objeto. Provê uma alternativa flexível ao uso de
herança como mecanismo de extensão de funcionalidade:
Adapter
Bridge
Decorator
Facade
Composite
Respondido em 16/04/2020 08:33:04
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/4
5a Questão
Os padrões estruturais correspondem a:
Chain of Responsability, command, Interpreter, Iterador, Mediator, Memento, Observer, State, Strategy, Template Method e
Visitor.
Todas as alternativas estão erradas
Abstract Factory, Builde, Factory Method, Prototype e Singleton.
Adapter, Bridge, Composite, Decorator, Façade, Flyweight e Proxy.
Chain of Responsability, command, Interpreter, Decorator, Façade, flyweight
Respondido em 16/04/2020 08:32:55
Explicação:
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite,
Decorator, Façade, Flyweight e Proxy.
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua
integração e colaboração mutua.
Os Padrões Estruturais tratam da composição de classes e objetos para formar estruturas
complexas; associados à maneira como classes e objetos são organizados estruturalmente;
oferecem formas efetivas para usar conceitos OO como herança e composição, e são abstrações
de aspectos estruturais.
O objetivo dos Padrões Estruturais é definir caminhos comuns para a organização de diferentes
tipos de objetos, facilitando sua integração e colaboração mutua.
6a Questão
O padrão Bridger é um Padrão Estrutural GoF. Quando devemos usar esse padrão? Assinale a
opção INCORRAETA.
Quando tanto abstrações como implementações precisarem ser capazes de suportar
extensão através de herança;
Quando for necessário evitar uma ligação permanente entre a interface e implementação;
Quando implementações são compartilhadas entre objetos desconhecidos do cliente;
Quando alterações na implementação não puderem afetar clientes;
Quando houver uma interface que permita a implementação estática;
Respondido em 16/04/2020 08:32:57
Explicação:
Essa afirmativa está INCORRETA, porque ela se refere ao padrão Adapter.
7a Questão
A classe java.util.Map da API de coleções de Java permite que sejam armazenados pares de
objetos (chave e valor) em uma de suas implementações (as mais conhecidas são HashMap e
TreeMap). No entanto, estas classes não possuem um construtor que receba como parâmetro
uma matriz de duas linhas e que monte o mapa usando a primeira linha como chave e a
segunda como coluna.
Qual padrão utilizar para resolver o problema acima?
Adapter
Chain of Responsibility
Observer
Iterator
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/4
Interpreter
Respondido em 16/04/2020 08:32:59
Explicação:
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite,
Decorator, Façade, Flyweight e Proxy.
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua
integração e colaboração mutua.
Os Padrões Estruturais tratam da composição de classes e objetos para formar estruturas
complexas; associados à maneira como classes e objetos são organizados estruturalmente;
oferecem formas efetivas para usar conceitos OO como herança e composição, e são abstrações
de aspectos estruturais.
O padrão Adpater é bastante utilizado para compatibilizar classes implementadas por
programadores diferentes, ou desenvolvidas em momentos diferentes, ou ainda para unir classes
com interfaces diferentes em uma estrutura hierárquica única, sem precisar implementar
novamente todas as funcionalidades e interfaces da classe já existente.
A idéia é criar uma nova classe (Adapter) com a interface padrão que se deseja para fazer a
conexão com a classe já existente (Adapter) com interface diferente da estrutura de classes que
se pretende utilizar no sistema.
Além de reaproveitar totalmente a classe antiga sem precisar alterar o código e entender a
complexa implementação realizada, mantém a uniformidade do seu projeto original.
8a Questão
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?
Proxy
Façade
Adapter
Bridge
Flyweight
Respondido em 16/04/2020 08:33:01
javascript:abre_colabore('38403','186819310','3724180574');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 3a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A3_201803107685_V2 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
(FUNCAB - 2010) Segundo Trott e Shalloway, o princípio de projetar a partir de um contexto, é um conceito para criar a visão
global antes de se projetar os detalhes que aparecem nos componentes. Das opções seguintes, o padrão de projeto que é um
melhor exemplo de aplicação desse princípio é:
adapter
bridge
canvas
faça de
abstract factory
Respondido em 16/04/2020 08:33:09
Explicação:
Há três grupos de Padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões
Comportamentais.
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite,
Decorator, Façade, Flyweight e Proxy.
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua
integração e colaboração mutua.
O padrão Bridge, desacopla uma abstração de sua implementação, de tal forma que os dois
possam variar independentemente.
2a Questão
[BNDES - CESGRANRIO 2009]A o consultar informações a respeito dos padrões de projeto Adapter e Bridge, um Analista de
Sistemas identificou uma afirmativa INCORRETA. Assinale-a.
O foco do Adapter é a solução de incompatibilidades entre duas interfaces existentes.
Ambos são padrões estruturais que possuem alguns atributos em comum.
O Bridge estabelece uma ponte entre uma abstração e suas possíveis implementações.
O Adapter é inferior ao Bridge porque não evita a replicação de código.
Ambos promovem a flexibilidade ao fornecer um nível de endereçamento indireto para outro objeto.
Respondido em 16/04/2020 08:33:10
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','3','','','315368809');
javascript:abre_frame('2','3','','','315368809');
javascript:abre_frame('3','3','','','315368809');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
3a Questão
Construtores em Java definem uma maneira padrão de construir objetos. No entanto, depender de construtores para instanciar
objetos pode nos levar a alguns problemas dos quais podemos citar, exceto:
Usando diretamente os métodos construtores não há como limitar o número de instâncias criadas
Cliente pode não ter ou não saber todos os dados necessários para instanciar um objeto através de construtores
Objeto complexo pode necessitar da criação de objetos menores previamente, com certo controle difícil de implementar
com construtores
Não é preciso saber a classe concreta do objeto para criá-lo
A aplicação cliente fica acoplada diretamente a uma implementação concreta para poder usar diretamente o construtor
Respondido em 16/04/2020 08:33:12
4a Questão
Programadores se deparammuitas vezes com a situação onde é preciso acrescentar responsabilidades a objetos e não a classe.
Uma das opções é utilizar herança, entretanto, esta alternativa é estática. Outra alternativa é especificar uma nova classe para
implementar cada responsabilidade que se deseja atribuir dinamicamente a um dado objeto. Esta nova classe se chama
_____________________________.
Composite;
Adapter;
Associativa;
Decorator;
Beidge;
Respondido em 16/04/2020 08:33:14
5a Questão
Qual o objetivo do padrão Decorator? Assinale a opção CORRETA.
Decorator compõem objetos em estruturas de árvore para representar hierarquias todo-
parte.
Decorator permite anexar responsabilidades adicionais a um objeto (em caráter dinâmico)
dinamicamente.
Decorator permite que clientes tratem objetos individuais e composições de objetos de
maneira uniforme.
Decorator permite que o ganho que eu tenho com a programação para a interface seja
enorme.
Decorator permite que seja encapsulado os detalhes (como se eu falasse com um aluno ou
com vários alunos da mesma forma), o que permite uma programação muito mais leve.
Respondido em 16/04/2020 08:33:28
Explicação:
Essa afirmativa está correta, porque as outras se referem ao padrão Composite.
6a Questão
Qual padrão observamos no diagrama de classes abaixo?
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/4
Composite
Prototype
Decorator
FlyWeight
Bridge
Respondido em 16/04/2020 08:33:31
Explicação:
O padrão Decorator é um padrão de cuja intenção são as Extenções.
O padrão Decorator anexa responsabilidades adicionais a um objeto (em caráter dinâmico)
dinamicamente. Decorators oferecem uma alternativa flexível ao uso de herança para estender
uma funcionalidade (para a extensão de funcionalidade).
7a Questão
Qual padrão compõe objetos em estruturas de árvore para representarem hierarquias partes-todos e permite aos clientes tratarem
de maneira uniforme os objetos individuais e as composições de objetos?
Builder.
Composite.
Nenhuma das anteriores.
Proxy.
Flyweight.
Respondido em 16/04/2020 08:33:34
Explicação:
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite,
Decorator, Façade, Flyweight e Proxy.
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua
integração e colaboração mutua.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/4
Os Padrões Estruturais tratam da composição de classes e objetos para formar estruturas
complexas; associados à maneira como classes e objetos são organizados estruturalmente;
oferecem formas efetivas para usar conceitos OO como herança e composição, e são abstrações
de aspectos estruturais.
O padrão Composite compõem objetos em estruturas de árvore para representar hierarquias
todo-parte. Composite permite que clientes tratem objetos individuais e composições de objetos
de maneira uniforme.
8a Questão
Dado o diagrama de classe identifique o padrão GoF estrutual:
Decorator
Flyweight
Composite
Proxy
Facade
Respondido em 16/04/2020 08:33:36
Explicação:
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite,
Decorator, Façade, Flyweight e Proxy.
Composite: Compor objetos em estruturas de árvore para representar hierarquias todo-parte.
Composite permite que clientes tratem objetos individuais e composições de objetos de maneira
uniforme.
javascript:abre_colabore('38403','186819338','3724180935');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/5
PADRÕES DE PROJETO DE SOFTWARE 3a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A3_201803107685_V3 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
Marque a alternativa que melhor descreve uma situação típica onde poderia ser utilizado o padrão de projeto Adapter?
Um programador precisa de um método que simplifique o acesso a uma hierarquia de classes.
Um programador precisa ser avisado quando houver alterações no estado de um objeto.
Um programador precisa de uma classe que possua um método para retornar a única instância existente da classe.
Um programador precisar utilizar uma classe que possui interface diferente da classe existente na aplicação.
Um programador precisa utilizar uma classe que possui a mesma interface da classe existente na aplicação.
Respondido em 16/04/2020 08:33:44
2a Questão
Analise as afirmações abaixo:
I. Desacopla uma abstração de sua implementação, de modo que as duas possam variar independentemente.
II. Compõe objetos em estuturas de árvores que representam hieráquia todo parte.
III. Fornece uma interface simples para uma coleção de classes.
As afirrmações correspondem respectivamente a:
Composite, Bridge, Façade
Composite, Façade, Bridge
Façade, Bridge, Composite
Façade, Composite, Bridge
Bridge, Composite, Façade
Respondido em 16/04/2020 08:33:34
Explicação:
Essa resposta está correta porque eles correspondem aos Padrões Estruturais GoF, que contemplam 7 (sete)
tipos de padrões: Adapter, Bridge, Composite, Decorator, Façade, Flyweight e Proxy.
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua
integração e colaboração mutua.
Os Padrões Estruturais tratam da composição de classes e objetos para formar estruturas
complexas; associados à maneira como classes e objetos são organizados estruturalmente;
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','3','','','315368809');
javascript:abre_frame('2','3','','','315368809');
javascript:abre_frame('3','3','','','315368809');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/5
oferecem formas efetivas para usar conceitos OO como herança e composição, e são abstrações
de aspectos estruturais.
O objetivo dos Padrões Estruturais é definir caminhos comuns para a organização de diferentes
tipos de objetos, facilitando sua integração e colaboração mutua.
3a Questão
Qual padrão de projeto representado na figura abaixo?
Low coupling
High coehsion
Chain of Responsability
Adapter
Creator
Respondido em 16/04/2020 08:33:37
Explicação:
O padrão Adpater é bastante utilizado para compatibilizar classes implementadas por
programadores diferentes, ou desenvolvidas em momentos diferentes, ou ainda para unir classes
com interfaces diferentes em uma estrutura hierárquica única, sem precisar implementar
novamente todas as funcionalidades e interfaces da classe já existente.
A idéia é criar uma nova classe (Adapter) com a interface padrão que se deseja para fazer a
conexão com a classe já existente (Adapter) com interface diferente da estrutura de classes que
se pretende utilizar no sistema.
Além de reaproveitar totalmente a classe antiga sem precisar alterar o código e entender a
complexa implementação realizada, mantém a uniformidade do seu projeto original.
4a Questão
Qual o padrão Gof utilizado na figura abaixo?
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/5
Composite
Adapter
Observer
Façade
Singleton
Respondido em 16/04/2020 08:33:39
Explicação:
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite,
Decorator, Façade, Flyweight e Proxy.
O padrão Adpater é bastante utilizado para compatibilizar classes implementadas por
programadores diferentes, ou desenvolvidas em momentos diferentes, ou ainda para unirclasses
com interfaces diferentes em uma estrutura hierárquica única, sem precisar implementar
novamente todas as funcionalidades e interfaces da classe já existente.
A idéia é criar uma nova classe (Adapter) com a interface padrão que se deseja para fazer a
conexão com a classe já existente (Adapter) com interface diferente da estrutura de classes que
se pretende utilizar no sistema.
Além de reaproveitar totalmente a classe antiga sem precisar alterar o código e entender a
complexa implementação realizada, mantém a uniformidade do seu projeto original.
5a Questão
Qual padrão converte uma interface de uma classe em outra interface e permite que classes com interfaces incompatíveis
trabalhem em conjunto?
Adapter.
Bridge.
Composite.
Decorator.
Nenhuma das anteriores.
Respondido em 16/04/2020 08:33:41
Explicação:
O padrão Adpater é bastante utilizado para compatibilizar classes implementadasas por
programadores diferentes, ou desenvolvidas em momentos diferentes, ou ainda para unir classes
com interfaces diferentes em uma estrutura hierárquica única, sem precisar implementar
novamente todas as funcionalidades e interfaces da classe já existente.
A idéia é criar uma nova classe (Adapter) com a interface padrão que se deseja para fazer a
conexão com a classe já existente (Adapter) com interface diferente da estrutura de classes que
se pretende utilizar no sistema.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/5
Além de reaproveitar totalmente a classe antiga sem precisar alterar o código e entender a
complexa implementação realizada, mantém a uniformidade do seu projeto original.
6a Questão
O padrão Adapter é um Padrão Estrutural GoF. Com relação aos seus objetivos podemos afirmar
que:
I- O padrão de projeto Adapter converte a interface de uma classe em outra interface esperada
pelos clientes.
II- O padrão Adapter permite a comunicação entre classes que não poderiam trabalhar juntas
devido à incompatibilidade de suas interfaces.
III- O padrão Adapter desacoplar uma abstração de sua implementação para que os dois possam
variar independentemente.
Est(á)ão correta(s) a(s) afirmativa(s):
Somente o item II;
Somente os itens I e III;
Somente o item I;
Somente os itens I e II;
Somente os itens II e III;
Respondido em 16/04/2020 08:33:55
Explicação:
O item III está errado porque ela se refere ao padrão Builder.
7a Questão
O Padrão de Projeto Estrutural (GOF) que se apresenta com o formato de uma árvore (estrutura de dados) quando é representado
por um Diagrama de Objetos (UML) chama-se:
Memento
Decorator
TreeView
Composite
Bridge
Respondido em 16/04/2020 08:33:45
8a Questão
Qual padrão está representado na figura abaixo?
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 5/5
Façade
Composite
Bridge
Proxy
Strategy
Respondido em 16/04/2020 08:33:47
Explicação:
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite,
Decorator, Façade, Flyweight e Proxy.
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua
integração e colaboração mutua.
Os Padrões Estruturais tratam da composição de classes e objetos para formar estruturas
complexas; associados à maneira como classes e objetos são organizados estruturalmente;
oferecem formas efetivas para usar conceitos OO como herança e composição, e são abstrações de
aspectos estruturais
O padrão Bridge, desacopla uma abstração de sua implementação, de tal forma que os dois
possam variar independentemente.
javascript:abre_colabore('38403','186819368','3724181098');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 3a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A3_201803107685_V4 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
Assinale a alternativa correspondente ao padrão de projeto utilizado para adicionar responsabilidades dinâmicas a objetos.
Façade
Adapter
Bridge
Composite
Decorator
Respondido em 16/04/2020 08:34:07
2a Questão
O padrão Composite é um Padrão Estrutural GoF. Com relação aos seus objetivos podemos afirmar
que:
I- O padrão de projeto Composite permite anexar responsabilidades adicionais a um objeto (em
caráter dinâmico) dinamicamente.
II- O padrão Composite permite que seja encapsulado os detalhes (como se eu falasse com um
aluno ou com vários alunos da mesma forma), o que permite uma programação muito mais leve.
III- O padrão Composite permite que clientes tratem objetos individuais e composições de objetos
de maneira uniforme.
Est(á)ão correta(s) a(s) afirmativa(s):
Somente o item I;
Somente os itens I e II;
Somente os itens I e III;
Somente o item II;
Somente os itens II e III;
Respondido em 16/04/2020 08:34:09
Explicação:
O item I está errado porque ela se refere ao padrão Decorator.
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','3','','','315368809');
javascript:abre_frame('2','3','','','315368809');
javascript:abre_frame('3','3','','','315368809');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
3a Questão
Qual é o padrão GoF estrutural correspondente ao código abaixo?
public class Main {
public static void main(String[] args) {
Carro carro = new CrossFox();
System.out.println("Produto: " + carro.getProdutos());
System.out.println("Preço: R$ " + carro.getCusto());
// Adiconando Ar e Travas
carro = new CarroComArCondicionado(carro);
carro = new CarroComTravaEletrica(carro);
System.out.println("Produto: " + carro.getProdutos());
System.out.println("Preço: R$ " + carro.getCusto());
}
}
.......
Adapter
Composite
Bridge
Decorator
Mediator
Respondido em 16/04/2020 08:34:00
Explicação:
O padrão Decorator é um padrão de cuja intenção são as Extenções.
O padrão Decorator anexa responsabilidades adicionais a um objeto (em caráter dinâmico)
dinamicamente. Decorators oferecem uma alternativa flexível ao uso de herança para estender
uma funcionalidade (para a extensão de funcionalidade).
4a Questão
Os Padrões de Projeto (GOF) que se apresentam com o formato de uma Lista Encadeada (estrutura de dados) quando são
representados por um Diagrama de Objetos (UML) e se classificam, respectivamente, como Padrão de Projeto Estrutural e Padrão
de Projeto Comportamental, são conhecidos como:
Observer e Chain of Responsibility
Decorator e Chain of Responsibility
Decorator e Observer
Observer e Decorator
Chain of Responsibility e Decorator
Respondido em 16/04/2020 08:34:02
5a Questão
O padrão Bridger é um Padrão Estrutural GoF. Com relação aos seus objetivos podemos afirmar
que (assinale a opção INCORRAETA).
O padrão Bridge converte a interface de uma classe em outra interface esperada pelos
clientes;
O padrão Bridge desacopla uma abstração de sua implementação para que os dois possam
variar independentemente;
O padrão Bridge é usado quando for necessário evitar uma ligação permanente entre a
interface e implementação;
No padrão Bridge a solução natural quando se pretende desenvolver uma determinada
solução para duas plataformas diferentes é utilizar herança, implementando uma classe
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/4
derivada para cada situação;
O padrão Bridge permiti que o sistema consiga se adaptar dinamicamente a diferentes
plataformas é mais desejável ainda;Respondido em 16/04/2020 08:34:04
Explicação:
Essa afirmativa está INCORRETA, porque ela se refere ao padrão Adapter.
6a Questão
(2016 - COPEVE-UFAL) Na hierarquia dos componentes visuais da biblioteca Java AWT (do inglês, Abstract Window Toolkit), há
containers e componentes. Containers, tais como os representados pelas classes Frame, Panel, Dialog e Applet agregam outros
componentes, tais como os representados pelas classes Button e Label. Um container pode também conter sub-containers. Logo,
um container pode conter containers ou componentes. Qual o padrão de projeto que representa a estrutura de relacionamento
entre as classes AWT?
Observer
Strategy
Chain of Responsability
Decorator
Composite
Respondido em 16/04/2020 08:34:05
Explicação:
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite,
Decorator, Façade, Flyweight e Proxy.
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua
integração e colaboração mutua.
O padrão Composite compõem objetos em estruturas de árvore para representar hierarquias
todo-parte. Composite permite que clientes tratem objetos individuais e composições de objetos
de maneira uniforme.
7a Questão
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
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/4
Cachaça + Leite Condensado + Açúcar + Gelo
Qual padrão você usaria para representar a estrutura acima?
State
Façade
Decorator
Strategy
Observer
Respondido em 16/04/2020 08:34:08
Explicação:
O padrão Decorator é um padrão de cuja intenção são as Extenções.
O padrão Decorator anexa responsabilidades adicionais a um objeto (em caráter dinâmico)
dinamicamente. Decorators oferecem uma alternativa flexível ao uso de herança para estender
uma funcionalidade (para a extensão de funcionalidade).
8a Questão
(CESGRANRIO - 2009) Ao consultar informações a respeito dos padrões de projeto Adapter e Bridge, um Analista de Sistemas
identificou uma afirmativa INCORRETA. Assinale-a.
Ambos promovem a flexibilidade ao fornecer um nível de endereçamento indireto para outro objeto.
Ambos são padrões estruturais que possuem alguns atributos em comum.
O foco do Adapter é a solução de incompatibilidades entre duas interfaces existentes.
O Bridge estabelece uma ponte entre uma abstração e suas possíveis implementações.
O Adapter é inferior ao Bridge porque não evita a replicação de código.
Respondido em 16/04/2020 08:34:10
Explicação:
A família de padrões GoF, está divida em três grupos principais de padrões: Padrões de Criação, Padrões Estruturais e Padrões
Comportamentais.
Há cinco padrões de criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton.
Há 7 (sete) tipos de padrões estruturais GoF: Adapter, Bridge, Composite, Decorator, Façade, Flyweight e Proxy.
Há 11 padrões comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer,
State, Strategy, Template Method e Visitor.
Essa opção está errada porque a classe Adapter é alusivo a estrutura, ou seja, estrutural. A ideia é fazer adaptação entre dois
recursos.
A classe Adapter converte a interface de uma classe em outra interface esperada pelos clientes. Adapter permite a comunicação
entre classes que não poderiam trabalhar juntas devido à incompatibilidade de suas interfaces.
javascript:abre_colabore('38403','186819396','3724182065');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/5
PADRÕES DE PROJETO DE SOFTWARE 3a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A3_201803107685_V5 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
Um compositor musical deseja criar uma hierarquia de classes para representar a estrutura das suas notas musicais. Em primeiro
lugar, definiu uma classe abstrata chamada Melodia, a seguir, criou duas classes derivadas, uma chamada Nota e outra chamada
Partitura. Cada Nota musical representa o elemento mínimo de uma Melodia e cada Partitura é formada por uma ou mais notas.
Marque a alternativa que representa o melhor padrão de projeto para modelar este problema.
Proxy
Bridge
Adapter
Composite
Façade
Respondido em 16/04/2020 08:34:19
2a Questão
Qual padrão GOF é usado no diagrama abaixo?
Decorator
Singleton
Composite
FlyWeight
Bridge
Respondido em 16/04/2020 08:34:21
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','3','','','315368809');
javascript:abre_frame('2','3','','','315368809');
javascript:abre_frame('3','3','','','315368809');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/5
Explicação:
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite,
Decorator, Façade, Flyweight e Proxy.
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua
integração e colaboração mutua.
Os Padrões Estruturais tratam da composição de classes e objetos para formar estruturas
complexas; associados à maneira como classes e objetos são organizados estruturalmente;
oferecem formas efetivas para usar conceitos OO como herança e composição, e são abstrações
de aspectos estruturais
O padrão Bridge, desacopla uma abstração de sua implementação, de tal forma que os dois
possam variar independentemente.
3a Questão
Dentre as opções apresentadas assinale qual o padrão é bastante utilizado para compatibilizar classes implementas por
programadores diferentes, ou desenvolvidas em momentos diferentes, ou ainda para unir classes com interfaces diferentes em uma
estrutura hierárquica única, sem precisar implementar novamente todas as funcionalidades e interfaces da classe já existente.
Padrão Composite
Padrão Flyweight
Padrão Decorator
Padrão Adapter
Padrão Decorator
Respondido em 16/04/2020 08:34:35
Gabarito
Coment.
4a Questão
Imagine que em meu sistema eu tenha uma classe compra, que para fazer o pagamento, utiliza o método
Billing, e que esse método espera algo que herde de uma interface IPagamento.
Cartão de crédito é uma classe abstrata que herda de IPagamento.
Boleto é uma classe que herda de IPagamento.
Visa e master são as implementações reais que utilizávamos, até então, para fazer o Billing dependendo
do cartão que o cliente utilizava, e a propósito, elas herdam de CartaodeCredito. Segue o diagrama:
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/5
Porém, a loja decide que vai ter mais um tipo de cartão de crédito, terá o ¿Sorocred¿.
O Analista logo pensa: ¿Tudo bem, é só eu herdar de CartaodeCredito, implementar a forma
específica de Billing e pronto! ¿.
Só que vem a surpresa: o cliente tem a própria Dll de Billing, que não pode ser alterada, ou
pior: a estrutura de classe de ¿Sorocred¿ foi desenhada da seguinte maneira:
Com qual padrão GOF, você resolverá o problema?
Adapter
Strategy
State
Façade
Singleton
Respondido em 16/04/2020 08:34:27
Explicação:
Há três grupos de Padrões GoF: Padrões de Criação, PadrõesEstruturais e Padrões
Comportamentais.
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite,
Decorator, Façade, Flyweight e Proxy.
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua
integração e colaboração mutua.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/5
O padrão Adpater é bastante utilizado para compatibilizar classes implementadas por
programadores diferentes, ou desenvolvidas em momentos diferentes, ou ainda para unir classes
com interfaces diferentes em uma estrutura hierárquica única, sem precisar implementar
novamente todas as funcionalidades e interfaces da classe já existente.
A idéia é criar uma nova classe (Adapter) com a interface padrão que se deseja para fazer a
conexão com a classe já existente (Adapter) com interface diferente da estrutura de classes que
se pretende utilizar no sistema.
5a Questão
Qual padrão desacopla uma abstração de sua implementação de modo que as duas possam variar independentemente?
Decorator.
Façade.
Proxy.
Nenhuma das anteriores.
Bridge.
Respondido em 16/04/2020 08:34:30
Explicação:
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite,
Decorator, Façade, Flyweight e Proxy.
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua
integração e colaboração mutua.
Os Padrões Estruturais tratam da composição de classes e objetos para formar estruturas
complexas; associados à maneira como classes e objetos são organizados estruturalmente;
oferecem formas efetivas para usar conceitos OO como herança e composição, e são abstrações
de aspectos estruturais.
O padrão Bridge, desacopla uma abstração de sua implementação, de tal forma que os dois
possam variar independentemente.
6a Questão
Qual o objetivo do padrão Compositer? Assinale a opção INCORRETA.
Composite permite anexar responsabilidades adicionais a um objeto (em caráter dinâmico)
dinamicamente.
Composite permite que o ganho que eu tenho com a programação para a interface seja
enorme.
Composite compõem objetos em estruturas de árvore para representar hierarquias todo-
parte.
Composite permite que seja encapsulado os detalhes (como se eu falasse com um aluno ou
com vários alunos da mesma forma), o que permite uma programação muito mais leve.
Composite permite que clientes tratem objetos individuais e composições de objetos de
maneira uniforme.
Respondido em 16/04/2020 08:34:32
Explicação:
Essa afirmativa está INCORRETA, porque as outras se referem ao padrão Decorator.
7a Questão
Escolha a opção que descreve o objetivo do ¿Composite¿:
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 5/5
Criar instancias de objetos em estruturas que representam hierarquias de dependência de plataforma de implementação.
O Composite permite que clientes tratem objetos distintos, e as composições, desses objetos de maneira parecidas.
Compor objetos em estruturas de árvore para representar hierarquias todo-parte. O Composite permite que clientes
tratem objetos individuais e composições de objetos de maneira uniforme.
Compor objetos em estruturas de árvore para representar heranças de classes abstratas, que serão instanciadas. O
Composite permite que clientes tratem objetos individuais e composições de objetos de maneira uniforme.
Compor objetos em estruturas sequenciais para representar hierarquias de herança aplicada. O Composite permite que
clientes tratem objetos individuais e composições de objetos de maneira uniforme.
Compor objetos em estruturas de árvore para representar hierarquias todo-parte. Composite permite que clientes tratem
objetos em grupo e não objetos de maneira uniforme.
Respondido em 16/04/2020 08:34:35
Explicação:
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite,
Decorator, Façade, Flyweight e Proxy.
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua
integração e colaboração mutua.
O padrão Composite compõem objetos em estruturas de árvore para representar hierarquias
todo-parte. Composite permite que clientes tratem objetos individuais e composições de objetos
de maneira uniforme.
8a Questão
Os padrões estruturais correspondem a:
Chain of Responsability, command, Interpreter, Decorator, Façade, flyweight
Todas as alternativas estão erradas
Chain of Responsability, command, Interpreter, Iterador, Mediator, Memento, Observer, State, Strategy, Template Method e
Visitor.
Abstract Factory, Builde, Factory Method, Prototype e Singleton.
Adapter, Bridge, Composite, Decorator, Façade, Flyweight e Proxy.
Respondido em 16/04/2020 08:34:37
Explicação:
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite,
Decorator, Façade, Flyweight e Proxy.
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua
integração e colaboração mutua.
Os Padrões Estruturais tratam da composição de classes e objetos para formar estruturas
complexas; associados à maneira como classes e objetos são organizados estruturalmente;
oferecem formas efetivas para usar conceitos OO como herança e composição, e são abstrações
de aspectos estruturais.
O objetivo dos Padrões Estruturais é definir caminhos comuns para a organização de diferentes
tipos de objetos, facilitando sua integração e colaboração mutua.
javascript:abre_colabore('38403','186819432','3724182974');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/3
PADRÕES DE PROJETO DE SOFTWARE 4a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A4_201803107685_V1 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
O objetivo do padrão de projeto estrutural de oFlyweight é diminuir o consumo de memória, porém deve ser utilizado com cautela;
Gamma et al (2000) recomendam sua utilização somente quando todas as condições forem verdadeiras. Assinale dentre as opções
abaixo a unica condição que não é verdadeira
Uma aplicação utiliza um grande número de objetos.
A aplicação não depende da identidade do objeto.
Os custos de armazenamento são altos por causa da grande quantidade de objetos.
Uma aplicação utiliza um pequeno número de objetos.
Muitos grupos de objetos podem ser substituídos por relativamente poucos objetos compartilhados, uma vez que estados
extrínsecos são removidos.
Respondido em 16/04/2020 08:34:46
Gabarito
Coment.
2a Questão
Estruturar um sistema em subsistemas ajuda a reduzir a complexidade do problema (Gamma et al., 2000). No entanto, um
objetivo comum de todos os projetos é minimizar a comunicação e as dependências entre os diferentes subsistemas. Uma das
maneiras de contornar esse problema é utilizar o padrão de projeto que qual forneça uma interface única e simplificada para os
recursos e facilidades mais gerais de um subsistema. Este padrão de projeto é conhecido como:
Decorator
Flyweight
Composite;
Façade;
Proxy;
Respondido em 16/04/2020 08:34:47
Gabarito
Coment.
3a Questão
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
_____________________________________________________________
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','4','','','315368662');
javascript:abre_frame('2','4','','','315368662');
javascript:abre_frame('3','4','','','315368662');
02/05/2020EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/3
hipóteses ou asserções sobre o contexto no qual o objeto opera.
comparações ou associações sobre o contexto no qual o objeto opera.
Acoplamento fraco entre o subsistema e seus clientes.
hipóteses ou asserções sobre fora do contexto no qual o objeto opera.
hipóteses ou exclusões sobre o contexto no qual o objeto opera.
Respondido em 16/04/2020 08:34:49
Gabarito
Coment.
4a Questão
A classe Façade, em qualquer contexto, tem como objetivo mais amplo buscar respostas para um problema de forma transparente
em um conjunto de subsistemas e fornecer uma resposta imediata para a classe cliente. Assinale dentre as principais vantagens
desse padrão de projeto a única que não é verdadeira.:
Incentivar acoplamento forte entre o subsistema e seus clientes.
Incentivar acoplamento fraco entre o subsistema e seus clientes.
Tornar os clientes independentes da complexidade dos diferentes subsistemas de uma aplicação.
judar a melhorar portabilidade dos sistemas.
Simplificar o acesso a determinadas funcionalidades de um subsistema, sem inviabilizar sua utilização direta.
Respondido em 16/04/2020 08:34:51
5a Questão
A classe Façade, em qualquer contexto, tem como objetivo mais amplo buscar respostas para um problema de forma transparente
em um conjunto de subsistemas e fornecer uma resposta imediata.
Marque a alternativa que NÃO indica uma vantagem do padrão Façade (Fachada)
Tornar os clientes independentes da complexidade dos diferentes subsistemas de uma aplicação.
Incentivar acoplamento fraco entre o subsistema e seus clientes.
Fazer com que o cliente conheça todas as regras de negócio para que possa realizar as mudanças.
Simplificar o acesso a determinadas funcionalidades de um subsistema, sem inviabilizar sua utilização direta.
Ajudar a melhorar portabilidade dos sistemas.
Respondido em 16/04/2020 08:35:05
Gabarito
Coment.
6a Questão
Em muitas situações de programação, é possível resolver o problema de acesso a um determinado objeto com a utilização de uma
referência a variável desejada, este é um mecanismo de simples utilização e bastante conhecido pelos desenvolvedores de
software. No entanto, quando é necessário utilizar um mecanismo mais versátil e sofisticado, por exemplo,
- para postergar a instanciação de um objeto
- para controlar o acesso ao mesmo
- para acessá-lo em uma máquina remota
- para gravá-lo em uma base de dados, a alternativa de utilizar uma referência ao objeto não é mais apropriada.
- utilização de uma superclasse abstrata para definir a interface da classe desejada e uma classe derivada adicional derivada.
Marque a alternativa que indica o padrão de projeto utilizado segundo a descrição acima.
Coesão
Proxy
Façade
Acoplamento
Flyweight
Respondido em 16/04/2020 08:34:55
Gabarito
Coment.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/3
7a Questão
Dado o diagrama de classe identifique o padrão GoF estrutual
Flyweight
Decorator
Adapter
Bridge
Proxy
Respondido em 16/04/2020 08:34:57
8a Questão
Uma empresa tem, dentre outros, um sistema de vendas e outro de controle de estoque. Supondo que o sistema de vendas
necessita utilizar funcionalidades do sistema de controle de estoque, qual padrão deve ser utilizado para que estas funcionalidades
sejam disponibilizadas?
Singleton
Observer
Decorator
Fachada
Fábrica Abstrata
Respondido em 16/04/2020 08:35:10
Explicação:
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite,
Decorator, Façade, Flyweight e Proxy.
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua
integração e colaboração mutua.
O padrão Façade (fachada) é um padrão Fachada, ou seja, faz uma fachada única para todas as
fachadas, ou seja, Fornece uma interface unificada para um conjunto de objetos que constituem
um subsistema.define uma interface a um nível mais elevado, para tornar um subsistema mais
fácil de usar.
Oferece uma interface única para um conjunto de interfaces de um subsistema. Façade define uma
interface de nível mais elevado que torna o subsistema mais fácil de usar.
javascript:abre_colabore('38403','186819450','3724182984');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 4a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A4_201803107685_V2 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
Qual padrão de projeto tem como propósito prover interface unificada para conjunto de interfaces em um subsistema, definindo
uma interface de alto-nível.
Decorator
Strategy
Factory Method
Facade
Singleton
Respondido em 16/04/2020 08:35:17
Explicação: O Padrão Façade é do tipo estrutural . É usado quando um sistema é muito complexo ou difícil de entender, já que
possui um grande número de classes independentes ou se trechos de código fonte estão indisponíveis. Este padrão esconde as
complexidades de um sistema maior e provê uma interface simplificada ao cliente. Tipicamente envolve uma única classe
responsável por englobar uma série de membros requeridos pelo cliente. Estes membros acessam o sistema em nome do Façade e
escondem os detalhes de implementação.
2a Questão
Quanto aos padrões de projeto orientados a objetos, assinale a opção correta.
O Façade pode ser usado quando se deseja prover uma interface simples para um subsistema complexo; existem muitas
dependências entre clientes e as classes que implementam uma abstração.
Pode-se usar o Builder quando o comportamento de um objeto muda em tempo de execução e depende do seu estado; as
operações têm múltiplos enunciados condicionais que dependem do estado do objeto.
O padrão Abstract Factory visa possibilitar que os passos para se criar um objeto complexo independam das partes que
compõem esse objeto. Ao encapsular a construção de objetos complexos, esse padrão contribui na modularização do
sistema.
Pode-se usar o Decorator quando um sistema deve ser configurado com uma entre várias famílias de produtos; uma
família de produtos relacionados foi projetada para ser usada em conjunto.
O Adapter pode ser usado quando objetos se comunicam de forma definida, mas complexa; as interdependências entre os
objetos são difíceis de entender; o reúso está sendo dificultado, pois um objeto se comunica com vários outros.
Respondido em 16/04/2020 08:35:19
Explicação:
Essa opção está correta porque o padrão Façade (fachada) é um padrão Fachada, ou seja, faz uma
fachada única para todas as fachadas, ou seja, Fornece uma interface unificada para um conjunto
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','4','','','315368662');
javascript:abre_frame('2','4','','','315368662');
javascript:abre_frame('3','4','','','315368662');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
de objetos que constituem um subsistema.define uma interface a um nível mais elevado, para
tornar um subsistema mais fácil de usar.
Oferece uma interface única para um conjunto de interfaces de um subsistema. Façade define uma
interface de nível mais elevado que torna o subsistema mais fácil de usar.
Define uma interface de mais alto nível que torna o subsistema mais fácil de usar.
3a Questão
(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, é denominadoBuilder.
Flyweight.
Strategy.
State.
Composite.
Respondido em 16/04/2020 08:35:08
4a Questão
Qual o objetivo do padrão Proxyr? Assinale a opção CORRETA.
Proxy expurga o código e delega a uma classe, a terceiros;
Proxy faz uma fachada única para todas as fachadas;
Proxy oferece uma interface única para um conjunto de interfaces de um subsistema;
Proxy define uma interface de nível mais elevado que torna o subsistema mais fácil de usar;
Proxy prove um substituto ou ponto através do qual um objeto possa controlar o acesso a
outro;
Respondido em 16/04/2020 08:35:10
Explicação:
Essa afirmativa está correta, porque as outras se referem ao padrão Façade.
5a Questão
Converter a interface de uma classe em outra interface esperada pelos clientes.
Permite a comunicação entre classes que não poderiam trabalhar juntas devido à
incompatibilidade de suas interfaces. Para qual padrão de projeto a afirmação se
relaciona?
Singleton
Nra
Observer
Proxy
Memento
Respondido em 16/04/2020 08:35:13
6a Questão
O padrão _________________ controla o acesso ao objeto original. Fornece um substituto ou marcador da localização de outro
objeto para controlar o seu acesso.
Qual padrão abaixo corresponde ao descrito acima?
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/4
Singleton
Adapter
Memento
Proxy
Interpreter
Respondido em 16/04/2020 08:35:26
Explicação:
O padrão Proxy (procurador) controla o acesso a um objeto através de outro objeto, que atua
como seu substituto, ou como um envoltório.
7a Questão
O objetivo do Flyweight é diminuir o consumo de memória, porém deve ser utilizado com cautela.
Gamma et al (2000) recomendam sua utilização somente quando todas as condições abaixo forem
verdadeiras, EXCETO uma. Qual delas abaixo é essa situação?
Muitos grupos de objetos podem ser substituídos por relativamente poucos objetos
compartilhados, uma vez que estados extrínsecos são removidos.
A aplicação não depende da identidade do objeto.
Quando for necessário elaborar um algoritmo ou algo complicado para separar objetos
mutáveis de imutáveis;
Os custos de armazenamento são altos por causa da grande quantidade de objetos.
Uma aplicação utiliza um grande número de objetos.
Respondido em 16/04/2020 08:35:17
Explicação:
Essa afirmativa está incorreta para o padrão Flyweight, porque ela é uma situação em que não
deve ser usada, assim como também quando o estado dos objetos não for imutável (é preciso
passar o estado mutável como parâmetro e isto pode ser impraticável se o estado consistir de
vários objetos)..
8a Questão
Qual o padrão fornece um substituto ou marcador para controlar o acesso a um objeto?
Proxy.
Nenhuma das anteriores.
Façade.
Adapter.
Bridge.
Respondido em 16/04/2020 08:35:19
Explicação:
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite,
Decorator, Façade, Flyweight e Proxy.
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua
integração e colaboração mutua.
Os Padrões Estruturais tratam da composição de classes e objetos para formar estruturas
complexas; associados à maneira como classes e objetos são organizados estruturalmente;
oferecem formas efetivas para usar conceitos OO como herança e composição, e são abstrações
de aspectos estruturais.
O padrão Proxy (procurador) controla o acesso a um objeto através de outro objeto, que atua
como seu substituto, ou como um envoltório.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/4
javascript:abre_colabore('38403','186819479','3724182995');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 4a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A4_201803107685_V3 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
O padrão Flyweight é um Padrão Estrutural GoF. Qual o melhor momento em que podemos usar
esse padrão?
I- Quando o tamanho do conjunto de objetos for significativamente menor que a quantidade de
vezes em que eles são usados na aplicação.
II- Quando objetos podem ser usados em diferentes contextos ao mesmo tempo (agindo sempre
como um objeto independente).
III- Quando for necessário elaborar um algoritmo ou algo complicado para separar objetos
mutáveis de imutáveis.
Est(á)ão correta(s) a(s) afirmativa(s):
Somente o item II;
Somente os itens II e III;
Somente os itens I e III;
Somente o item I;
Somente os itens I e II;
Respondido em 16/04/2020 08:35:38
Explicação:
O item III está errado porque não devemos usar esse padrão quando isso ocorre.
2a Questão
Qual padrão fornece uma interface unificada para um conjunto de interfaces em um subsistema e define uma interface de nível
mais alto que torna o subsistema mais fácil de ser usado?
Adapter.
Decorator.
Nenhuma das anteriores.
Façade.
Composite.
Respondido em 16/04/2020 08:35:40
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','4','','','315368662');
javascript:abre_frame('2','4','','','315368662');
javascript:abre_frame('3','4','','','315368662');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
Explicação:
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite,
Decorator, Façade, Flyweight e Proxy.
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua
integração e colaboração mutua.
Os Padrões Estruturais tratam da composição de classes e objetos para formar estruturas
complexas; associados à maneira como classes e objetos são organizados estruturalmente;
oferecem formas efetivas para usar conceitos OO como herança e composição, e são abstrações
de aspectos estruturais.
O padrão Façade é um padrão Fachada, ou seja, faz uma fachada única para todas as fachadas.
Define uma interface a um nível mais elevado, para tornar um subsistema mais fácil de usar.
Oferece uma interface única para um conjunto de interfaces de um subsistema. Façade define uma
interface de nível mais elevado que torna o subsistema mais fácil de usar.
3a Questão
Que padrão estrutural provê um ponto de atendimento para que outro objeto possa controlar o acesso ao primeiro:
Proxy
Facade
Flyweight
Adapter
Decorator
Respondido em 16/04/2020 08:35:42
4a Questão
Qual a vantagem do padrão Proxyr? Assinale a opção INCORRETA.
Consigo atribuir um certo grau de inteligência, o que possibilitaria um tratamento
inteligente dos dados;
Permite, sempre que for desejável, criar uma interface para um conjunto de objetos com o
objetivo de facilitar o uso da aplicação;
Permite o tratamento inteligente dos dados no cliente;
Permite maior eficiência com caching no cliente;
Tem transparência, ou seja, mesma sintaxe usada na comunicação entre o cliente e sujeito
real é usada no proxy;
Respondido em 16/04/2020 08:35:32
Explicação:
Essa afirmativa está incorreta, porque ela se refere ao padrão Façade.
5a Questão
(BNDES - CESGRANRIO 2009) O presidente de uma empresa determinou que fosse disponibilizado um sistema de vendas na
Internet. No entanto, o software de controle de estoque que deve ser acessado pela aplicação de vendas é muito antigo e provê
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/4
uma API (Application Programming Interface) de uso muito complicado. Para que os desenvolvedores possam acessar uma
interfacemais simples, o arquiteto do sistema pode determinar o uso do padrão de projeto
Flyweight.
Prototype.
Decorator.
Façade.
Observer.
Respondido em 16/04/2020 08:35:35
6a Questão
considerando a classe de projetos GoF assinale a opção cujos padrões de projeto estão todos classificados como Estruturais:
adapter ; bridge ; composite ; decorator ; faça de ; flyweight ; Proxy
adapter ; bridge ; composite ; decorator ; faça de ; flyweight ; singleton
singleton; bridge ; composite; decorator ; faça de ; flyweight;¿ Proxy
singleton; bridge ; protype; decorator ; faça de ; flyweight ; Proxy
adapter ; bridge ; protype ¿ decorator ; faça de ; flyweight ; singleton
Respondido em 16/04/2020 08:35:48
Explicação:
Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais.
Os padrões estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite, Decorator, Façade, Flyweight e
Proxy.
Os Padrões Estruturais tratam da composição de classes e objetos para formar estruturas complexas; associados à maneira como
classes e objetos são organizados estruturalmente; oferecem formas efetivas para usar conceitos OO como herança e composição,
e são abstrações de aspectos estruturais.
Seu objetivo é definir caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e colaboração
mútua.
7a Questão
O padrão Flyweight é um Padrão Estrutural GoF. Quando não devemos usar esse padrão?
I- Quando o estado dos objetos não for imutável
II- Quando o tamanho do conjunto de objetos for significativamente menor que a quantidade de
vezes em que eles são usados na aplicação;
III- Quando objetos podem ser usados em diferentes contextos ao mesmo tempo (agindo sempre
como um objeto independente);
Est(á)ão correta(s) a(s) afirmativa(s):
Somente os itens I e III;
Somente o item II;
Somente os itens II e III;
Somente os itens I e II;
Somente o item I;
Respondido em 16/04/2020 08:35:39
Explicação:
Os itens II e III estão errados porque é nesta situação que devemos usar esse padrão.
No item I é preciso passar o estado mutável como parâmetro e isto pode ser impraticável se o
estado consistir de vários objetos.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/4
8a Questão
(FCC - 2011) No contexto dos padrões de projeto:
I. Oferecer uma interface simples para uma coleção de classes.
II. Desacoplar uma abstração de sua implementação para que ambas possam variar independentemente.
Correspondem respectivamente a
Composite e Bridge.
Adapter e Façade.
Façade e Bridge.
Bridge e Adapter.
Façade e Composite.
Respondido em 16/04/2020 08:35:53
Gabarito
Coment.
javascript:abre_colabore('38403','186819513','3724183671');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/3
PADRÕES DE PROJETO DE SOFTWARE 4a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A4_201803107685_V4 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
Quanto às vantagens, assinale a opção INCORRETA sobre o padrão Façade.
Havendo mudança em alguma regra de negócio, basta realizar as alterações necessárias na
classe Façade;
Sempre que for desejável, cria uma interface para um conjunto de objetos com o objetivo
de facilitar o uso da aplicação;
Quando o tamanho do conjunto de objetos for significativamente menor que a quantidade
de vezes em que eles são usados na aplicação;
Permite que objetos individuais cuidem de uma única tarefa, deixando que a fachada se
encarregue de divulgar as suas operações;
O cliente não precisa conhecer todas as regras de negócio envolvidas com a concessão de
um empréstimo;
Respondido em 16/04/2020 08:36:00
Explicação:
Essa afirmativa está incorreta, porque ela se refere ao padrão Flyweight.
2a Questão
O objetivo do padrão de projeto estrutural de oFlyweight é diminuir o consumo de memória, porém deve ser utilizado com cautela;
Gamma et al (2000) recomendam sua utilização somente quando todas as condições forem verdadeiras. Assinale dentre as opções
abaixo a unica condição que não é verdadeira
Os custos de armazenamento são altos por causa da grande quantidade de objetos.
A aplicação não depende da identidade do objeto.
Uma aplicação utiliza um grande número de objetos.
Uma aplicação utiliza um pequeno número de objetos.
Muitos grupos de objetos podem ser substituídos por relativamente poucos objetos compartilhados, uma vez que estados
extrínsecos são removidos.
Respondido em 16/04/2020 08:36:03
Gabarito
Coment.
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','4','','','315368662');
javascript:abre_frame('2','4','','','315368662');
javascript:abre_frame('3','4','','','315368662');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/3
3a Questão
A classe Façade, em qualquer contexto, tem como objetivo mais amplo buscar respostas para um problema de forma transparente
em um conjunto de subsistemas e fornecer uma resposta imediata.
Marque a alternativa que NÃO indica uma vantagem do padrão Façade (Fachada)
Simplificar o acesso a determinadas funcionalidades de um subsistema, sem inviabilizar sua utilização direta.
Ajudar a melhorar portabilidade dos sistemas.
Tornar os clientes independentes da complexidade dos diferentes subsistemas de uma aplicação.
Fazer com que o cliente conheça todas as regras de negócio para que possa realizar as mudanças.
Incentivar acoplamento fraco entre o subsistema e seus clientes.
Respondido em 16/04/2020 08:36:05
Gabarito
Coment.
4a Questão
Estruturar um sistema em subsistemas ajuda a reduzir a complexidade do problema (Gamma et al., 2000). No entanto, um
objetivo comum de todos os projetos é minimizar a comunicação e as dependências entre os diferentes subsistemas. Uma das
maneiras de contornar esse problema é utilizar o padrão de projeto que qual forneça uma interface única e simplificada para os
recursos e facilidades mais gerais de um subsistema. Este padrão de projeto é conhecido como:
Decorator
Proxy;
Façade;
Composite;
Flyweight
Respondido em 16/04/2020 08:36:06
Gabarito
Coment.
5a Questão
A classe Façade, em qualquer contexto, tem como objetivo mais amplo buscar respostas para um problema de forma transparente
em um conjunto de subsistemas e fornecer uma resposta imediata para a classe cliente. Assinale dentre as principais vantagens
desse padrão de projeto a única que não é verdadeira.:
Incentivar acoplamento forte entre o subsistema e seus clientes.
Tornar os clientes independentes da complexidade dos diferentes subsistemas de uma aplicação.
judar a melhorar portabilidade dos sistemas.
Incentivar acoplamento fraco entre o subsistema e seus clientes.
Simplificar o acesso a determinadas funcionalidades de um subsistema, sem inviabilizar sua utilização direta.
Respondido em 16/04/2020 08:36:08
6a Questão
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
_____________________________________________________________
hipóteses ou asserções sobre o contexto no qual o objeto opera.
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 fora do contexto no qual o objeto opera.
Acoplamento fraco entre o subsistema e seus clientes.
Respondido em 16/04/2020 08:36:10
Gabarito
Coment.02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/3
7a Questão
Uma empresa tem, dentre outros, um sistema de vendas e outro de controle de estoque. Supondo que o sistema de vendas
necessita utilizar funcionalidades do sistema de controle de estoque, qual padrão deve ser utilizado para que estas funcionalidades
sejam disponibilizadas?
Fábrica Abstrata
Fachada
Singleton
Decorator
Observer
Respondido em 16/04/2020 08:35:59
Explicação:
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite,
Decorator, Façade, Flyweight e Proxy.
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua
integração e colaboração mutua.
O padrão Façade (fachada) é um padrão Fachada, ou seja, faz uma fachada única para todas as
fachadas, ou seja, Fornece uma interface unificada para um conjunto de objetos que constituem
um subsistema.define uma interface a um nível mais elevado, para tornar um subsistema mais
fácil de usar.
Oferece uma interface única para um conjunto de interfaces de um subsistema. Façade define uma
interface de nível mais elevado que torna o subsistema mais fácil de usar.
8a Questão
Dado o diagrama de classe identifique o padrão GoF estrutual
Bridge
Flyweight
Proxy
Adapter
Decorator
Respondido em 16/04/2020 08:36:01
javascript:abre_colabore('38403','186819547','3724184183');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 4a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A4_201803107685_V5 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
Em muitas situações de programação, é possível resolver o problema de acesso a um determinado objeto com a utilização de uma
referência a variável desejada, este é um mecanismo de simples utilização e bastante conhecido pelos desenvolvedores de
software. No entanto, quando é necessário utilizar um mecanismo mais versátil e sofisticado, por exemplo,
- para postergar a instanciação de um objeto
- para controlar o acesso ao mesmo
- para acessá-lo em uma máquina remota
- para gravá-lo em uma base de dados, a alternativa de utilizar uma referência ao objeto não é mais apropriada.
- utilização de uma superclasse abstrata para definir a interface da classe desejada e uma classe derivada adicional derivada.
Marque a alternativa que indica o padrão de projeto utilizado segundo a descrição acima.
Proxy
Acoplamento
Flyweight
Façade
Coesão
Respondido em 16/04/2020 08:36:21
Gabarito
Coment.
2a Questão
(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
Builder.
Composite.
Flyweight.
State.
Strategy.
Respondido em 16/04/2020 08:36:22
3a Questão
Qual padrão de projeto tem como propósito prover interface unificada para conjunto de interfaces em um subsistema, definindo
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','4','','','315368662');
javascript:abre_frame('2','4','','','315368662');
javascript:abre_frame('3','4','','','315368662');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
uma interface de alto-nível.
Facade
Factory Method
Decorator
Strategy
Singleton
Respondido em 16/04/2020 08:36:25
Explicação: O Padrão Façade é do tipo estrutural . É usado quando um sistema é muito complexo ou difícil de entender, já que
possui um grande número de classes independentes ou se trechos de código fonte estão indisponíveis. Este padrão esconde as
complexidades de um sistema maior e provê uma interface simplificada ao cliente. Tipicamente envolve uma única classe
responsável por englobar uma série de membros requeridos pelo cliente. Estes membros acessam o sistema em nome do Façade e
escondem os detalhes de implementação.
4a Questão
Quanto aos padrões de projeto orientados a objetos, assinale a opção correta.
O padrão Abstract Factory visa possibilitar que os passos para se criar um objeto complexo independam das partes que
compõem esse objeto. Ao encapsular a construção de objetos complexos, esse padrão contribui na modularização do
sistema.
Pode-se usar o Builder quando o comportamento de um objeto muda em tempo de execução e depende do seu estado; as
operações têm múltiplos enunciados condicionais que dependem do estado do objeto.
Pode-se usar o Decorator quando um sistema deve ser configurado com uma entre várias famílias de produtos; uma
família de produtos relacionados foi projetada para ser usada em conjunto.
O Façade pode ser usado quando se deseja prover uma interface simples para um subsistema complexo; existem muitas
dependências entre clientes e as classes que implementam uma abstração.
O Adapter pode ser usado quando objetos se comunicam de forma definida, mas complexa; as interdependências entre os
objetos são difíceis de entender; o reúso está sendo dificultado, pois um objeto se comunica com vários outros.
Respondido em 16/04/2020 08:36:26
Explicação:
Essa opção está correta porque o padrão Façade (fachada) é um padrão Fachada, ou seja, faz uma
fachada única para todas as fachadas, ou seja, Fornece uma interface unificada para um conjunto
de objetos que constituem um subsistema.define uma interface a um nível mais elevado, para
tornar um subsistema mais fácil de usar.
Oferece uma interface única para um conjunto de interfaces de um subsistema. Façade define uma
interface de nível mais elevado que torna o subsistema mais fácil de usar.
Define uma interface de mais alto nível que torna o subsistema mais fácil de usar.
5a Questão
Qual o objetivo do padrão Proxyr? Assinale a opção CORRETA.
Proxy define uma interface de nível mais elevado que torna o subsistema mais fácil de usar;
Proxy oferece uma interface única para um conjunto de interfaces de um subsistema;
Proxy expurga o código e delega a uma classe, a terceiros;
Proxy prove um substituto ou ponto através do qual um objeto possa controlar o acesso a
outro;
Proxy faz uma fachada única para todas as fachadas;
Respondido em 16/04/2020 08:36:17
Explicação:
Essa afirmativa está correta, porque as outras se referem ao padrão Façade.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/4
6a Questão
O objetivo do Flyweight é diminuir o consumo de memória, porém deve ser utilizado com cautela.
Gamma et al (2000) recomendam sua utilização somente quando todas as condições abaixo forem
verdadeiras, EXCETO uma. Qual delas abaixo é essa situação?
A aplicação não depende da identidade do objeto.
Uma aplicação utiliza um grande número de objetos.
Quando for necessário elaborar um algoritmo ou algo complicado para separar objetos
mutáveis de imutáveis;
Os custos de armazenamento são altos por causa da grande quantidade de objetos.
Muitos grupos de objetos podem ser substituídos por relativamente poucos objetos
compartilhados, uma vez que estados extrínsecos são removidos.
Respondido em 16/04/2020 08:36:19
Explicação:
Essa afirmativa está incorreta para o padrão Flyweight, porque ela é uma situação em que não
deve ser usada, assim como também quando o estado dos objetos não for imutável (é preciso
passar o estado mutável como parâmetro e isto pode ser impraticável se o estado consistir de
vários objetos)..
7a Questão
Qual o padrão fornece um substituto ou marcador para controlar o acesso a um objeto?
Nenhuma das anteriores.
Façade.
Bridge.Proxy.
Adapter.
Respondido em 16/04/2020 08:36:20
Explicação:
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite,
Decorator, Façade, Flyweight e Proxy.
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua
integração e colaboração mutua.
Os Padrões Estruturais tratam da composição de classes e objetos para formar estruturas
complexas; associados à maneira como classes e objetos são organizados estruturalmente;
oferecem formas efetivas para usar conceitos OO como herança e composição, e são abstrações
de aspectos estruturais.
O padrão Proxy (procurador) controla o acesso a um objeto através de outro objeto, que atua
como seu substituto, ou como um envoltório.
8a Questão
O padrão _________________ controla o acesso ao objeto original. Fornece um substituto ou marcador da localização de outro
objeto para controlar o seu acesso.
Qual padrão abaixo corresponde ao descrito acima?
Singleton
Proxy
Memento
Interpreter
Adapter
Respondido em 16/04/2020 08:36:22
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/4
Explicação:
O padrão Proxy (procurador) controla o acesso a um objeto através de outro objeto, que atua
como seu substituto, ou como um envoltório.
javascript:abre_colabore('38403','186819576','3724184526');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 5a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A5_201803107685_V1 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
O método Arrays.sort (java.util) recebe como parâmetro um objeto do tipo Comparator que implementa um método compare(a, b)
e utiliza-o para definir as regras de ordenação, assim evitamos duplicidade de código permitindo sobrescrita apenas do critério de
comparação do algoritmo de ordenação, no qual os outros passos permanecem invariantes. Essa situação exemplifica qual dos
padrões GOF abaixo:
Builder
Template Method
State
Command
Flyweight
Respondido em 16/04/2020 08:36:29
2a Questão
Qual o objetivo do padrão Template Method? Assinale a opção CORRETA.
Descreve como projetar um conjunto de classes para representar e interpretar uma
gramática para linguagens simples;
Definir o esqueleto de um algoritmo dentro de uma operação, deixando alguns passos a
serem preenchidos pelas subclasses;
Dada uma linguagem, definir uma representação para sua gramática junto com um
interpretador que usa a representação para interpretar sentenças na linguagem;
É recomendada naquelas situações em que há necessidade de interpretar uma linguagem
qualquer e ao mesmo tempo quando se quer representar sentenças da linguagem como
árvores abstratas sintáticas;
Delega responsabilidades e escreve padrões não só voltados para classe, mas também no
que tange a comunicação entre essas classes;
Respondido em 16/04/2020 08:36:31
Explicação:
Essa afirmativa está correta, porque as outras se referem ao padrão Interpreter.
Além disso, Template Method permite que suas subclasses redefinam certos passos de um
algoritmo sem mudar sua estrutura.
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','5','','','315368653');
javascript:abre_frame('2','5','','','315368653');
javascript:abre_frame('3','5','','','315368653');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
3a Questão
A implementação do padrão de projeto Chain of Responsability requer que cada objeto receptor de uma determinada solicitação
tenha uma lógica para descrever os tipos de solicitação que é capaz de processar e como passar adiante aquelas que requeiram
processamento por outros receptores. A delegação das solicitações pode formar uma árvore de recursão, com um mecanismo
especial para inserção de novos receptores no final da cadeia existente.
Marque a alternativa que NÃO identifica uma vantagem do padrão de projeto Chain of Responsability.
Reduz a interconexão entre os objetos, ao invés de um objeto manter uma lista com todos os receptores candidatos, eles
mantém uma referência única para o sucessor;
Padrão libera um objeto de ter que conhecer qual o outro objeto que trata de uma solicitação.
As partes invariantes, conforme a situação, contexto ou problema a ser resolvido, podem ser redefinidas em classes
abstratas gerando interconexão entre os objetos.
Remetente e receptor não têm conhecimento explícito um do outro.
Flexibilidade na atribuição de responsabilidades, ou seja, pode-se mudar a cadeia de objetos em tempo de execução,
adicionando ou removendo objetos.
Respondido em 16/04/2020 08:36:45
Gabarito
Coment.
4a Questão
Aponte dentre as opções abaixo aquela que corresponde ao padrão que apresenta como uma desvantagens, a obrigatoriedade da
definição de ao menos, uma classe para cada regra da gramática, logo, gramáticas com muitas regras são difíceis de manter e
administrar.
Chain of Responsability;
Façade;
Interpreter;
Template Method;
Proxy;
Respondido em 16/04/2020 08:36:47
5a Questão
(CESGRANRIO - 2010) Um dos participantes da equipe de desenvolvimento de um framework deve implementar uma operação em
uma das classes desse framework. Seja X o nome dessa classe. Essa operação implementa um algoritmo em particular. Entretanto,
há passos desse algoritmo que devem ser implementados pelos usuários do framework através da definição de uma subclasse de
X. Sendo assim, qual o padrão de projeto do catálogo GoF (Gang of Four) a ser usado pelo desenvolvedor do framework na
implementação da referida operação, dentre os listados a seguir?
Observer.
Interpreter.
Decorator.
Singleton.
Template Method.
Respondido em 16/04/2020 08:36:37
Explicação:
A família de padrões GoF, está divida em três grupos principais de padrões: Padrões de Criação, Padrões Estruturais e Padrões
Comportamentais.
Há cinco padrões de criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton.
Há 7 (sete) tipos de padrões estruturais GoF: Adapter, Bridge, Composite, Decorator, Façade, Flyweight e Proxy.
Há 11 padrões comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State,
Strategy, Template Method e Visitor.
O Template Method define o esqueleto de um algoritmo dentro de uma operação, deixando alguns passos a serem preenchidos
pelas subclasses. Template Method permite que suas subclasses redefinam certos passos de um algoritmo sem mudar sua
estrutura.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/4
6a Questão
Baseando-se nas necessidades apresentadas do lado direito do quadro abaixo, relacione-as ao padrão adequado a utilização e, em
seguida marque a alternativa que corresponde a sequencia numerada correspondente.
2 - 3 - 4 - 1
4 - 3 - 1 - 2
3 - 4 - 1 - 2
4 - 2 - 1 - 3
4 - 1 - 2 - 3
Respondido em 16/04/2020 08:36:39
Explicação:
Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais.
Há cinco padrões de criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton.
7a Questão
O padrão Chain of Responsability é um Padrão Comportamental GoF. Qual o seu objetivo? Assinale
a afirmativa INCORRETA
Reduz a interconexão entre os objetos, ao invés de um objeto manter uma lista com todos
os receptores candidatos, eles mantém uma referência única para o sucessor;
Encadear os objetos receptores, passando a solicitação ao longo da cadeia até que um
objeto a trate;Representar um encadeamento de objetos receptores para o processamento de uma série
de solicitações diferentes;
Evitar o acoplamento do remetente de uma solicitação ao seu receptor, ao dar a mais de um
objeto a oportunidade de tratar a solicitação;
Fornecer um acoplamento mais fraco por evitar a associação explícita do remetente de uma
solicitação ao seu receptor e dar a mais de um objeto a oportunidade de tratar a solicitação;
Respondido em 16/04/2020 08:36:42
Explicação:
Essa afirmativa está relacionada ao padrão Chain of Responsability, porque ela se refere a padrão
Classe Hanter.
8a Questão
O padrão Classe Handler é um Padrão Comportamental GoF. Quais os benefícios do padrão de
projeto Chain of Responsability com a Classe Hanter?
I- O acoplamento é reduzido, pois, o padrão libera um objeto de ter que conhecer qual o outro
objeto que trata de uma solicitação;
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/4
II- Reduz a interconexão entre os objetos, ao invés de um objeto manter uma lista com todos os
receptores candidatos, eles mantém uma referência única para o sucessor;
III- Flexibilidade na atribuição de responsabilidades, ou seja, pode-se mudar a cadeia de objetos
em tempo de execução, adicionando ou removendo objetos;
IV- A receptação não é garantida, isto é, no momento que a requisição não tem um receptor
explícito, não há garantias que ela será tratada;
Est(á)ão correta(s) a(s) afirmativa(s):
Somente os itens II, III e IV;
Somente os itens II e III;
Somente os itens I, II e III;
Somente os itens III e IV;
Somente os itens I e II;
Respondido em 16/04/2020 08:36:45
Explicação:
O item IV é uma deficiência, e não uma vantagem.
javascript:abre_colabore('38403','186819602','3724184537');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/3
PADRÕES DE PROJETO DE SOFTWARE 5a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A5_201803107685_V2 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
Marque a única alternativa correta sobre um cenário de aplicação do padrão de projeto Template Method
Armazenamos o estado interno de um objeto para permitir a implementação da operação de desfazer (undo)
Permitimos, em tempo de execução, que sejam adicionadas novas operações sobre uma estrutura de dados
Implementamos partes invariantes de um algoritmo em uma classe abstrata e deixamos que o restante do código seja
implementado nas subclasses
Garantimos que não será possível instanciar mais do que 1(uma) instância de uma determinada classe
Possibilitamos a comunicação entre interfaces incompatíveis
Respondido em 16/04/2020 08:36:56
2a Questão
Analise as seguintes sentenças que descreve as características de um padrão de projeto. Em seguida marque a alternativa que
corresponde o padrão de projeto correspondente.
a. Sua aplicação é recomendada naquelas situações em que há necessidade de interpretar uma linguagem qualquer e, ao mesmo
tempo, quando se quer representar sentenças da linguagem, como árvores abstratas sintáticas.
b. Descreve como projetar um conjunto de classes para representar e interpretar uma gramática para linguagens simples.
c. A estrutura do padrão sugere que a modelagem do problema seja realizada através de uma gramática recursiva.
Adapter
Interpreter
Composite
Chain Responsability
Façade
Respondido em 16/04/2020 08:37:11
Gabarito
Coment.
3a Questão
Para fazer a modelagem de um padrão de projeto (design pattern) utilizando a UML é DESNECESSÁRIO.
identificar as soluções específicas e particulares para o problema básico e reificá-la como um mecanismo.
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','5','','','315368653');
javascript:abre_frame('2','5','','','315368653');
javascript:abre_frame('3','5','','','315368653');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/3
fazer a modelagem do mecanismo como uma colaboração, fornecendo seus aspectos estruturais, assim como os aspectos
comportamentais.
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 comuns para o problema básico.
entender o padrão de projeto como uma colaboração representada com suas partes estruturais e comportamentais.
Respondido em 16/04/2020 08:37:12
Explicação:
Na UML, modelamos os Casos de Uso, identificando os atores e definindo os Casos de Uso por Ator, construímos o Diagrama de
Casos de Uso, modelamos as Classes Negociais, construímos o Diagrama de Transição de Estado e refinamos as Classes com suas
operações.
Gabarito
Coment.
4a Questão
Aponte dentre as opções colocadas aquela que corresponde a estrutura do padrão que sugere que a modelagem do problema seja
realizada através de uma gramática recursiva..
Iterator
Chain of Responsability,
Interpreter;
Mediator
Template Method;
Respondido em 16/04/2020 08:37:02
5a Questão
(BACEN ¿ CESGRANRIO 2010) Um arquiteto de software estuda que padrões de projeto são apropriados para o novo sistema de
vendas de uma empresa. Ele deve considerar que o padrão
Builder garante que uma classe seja instanciada somente uma vez, fornecendo também um ponto de acesso global.
Singleton separa uma abstração de sua implementação, de modo que os dois conceitos possam variar de modo
independente.
Chain of Responsibility evita o acoplamento entre o remetente de uma solicitação e seu destinatário, dando oportunidade
para mais de um objeto tratar a solicitação.
Template Method utiliza compartilhamento para suportar, eficientemente, grandes quantidades de objetos de granularidade
fina.
Bridge separa a construção de um objeto complexo de sua representação, de modo que o mesmo processo de construção
possa criar diferentes representações.
Respondido em 16/04/2020 08:37:04
6a Questão
Qual padrão define o esqueleto de um algoritmo em uma operação, postergando alguns passos para as subclasses e permite que
subclasses redefinam certos passos de um algoritmo sem mudar a estrutura do mesmo?
Command.
State.
Nenhuma das anteriores.
Template Method.
Adapter.
Respondido em 16/04/2020 08:37:06
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter, Iterator,
Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/3
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são
distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de aspectos
comportamentais.
O Template Method define o esqueleto de um algoritmo dentro de uma operação, deixando
alguns passos a serem preenchidos pelas subclasses. Template Method permite que suas
subclasses redefinam certos passos de um algoritmo sem mudar sua estrutura.
7a Questão
Dentre as opções colocadas abaixo, assinale aquela que corresponde ao padrão de projeto que requer para sua implementação,
que cada objeto receptor de uma determinada solicitação tenha uma lógica para descrever os tipos de solicitação que é capaz de
processar e como passar adiante aquelas que requeiram processamento por outros receptores
Chain of Responsability ;
classe Handler;
Iterator;
Template Method;
Mediator;
Respondido em 16/04/2020 08:37:20
Gabarito
Coment.
8a Questão(PETROBRAS - CESGRANRIO 2010) Um dos participantes da equipe de desenvolvimento de um framework deve implementar uma
operação em uma das classes desse framework. Seja X o nome dessa classe. Essa operação implementa um algoritmo em
particular. Entretanto, há passos desse algoritmo que devem ser implementados pelos usuários do framework através da definição
de uma subclasse de X. Sendo assim, qual o padrão de projeto do catálogo GoF (Gang of Four) a ser usado pelo desenvolvedor do
framework na implementação da referida operação, dentre os listados a seguir?
Observer.
Decorator.
Template Method.
Interpreter.
Singleton.
Respondido em 16/04/2020 08:37:10
javascript:abre_colabore('38403','186819642','3724185135');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 5a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A5_201803107685_V3 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
Analise as sentenças abaixo.
I - A estrutura do padrão interpreter sugere que a modelagem do problema seja realizada através de uma gramática procedural.
II - O padrão Interpreter tem como desvantagem definir uma classe para cada gramática, pois quando se tem muitas gramáticas,
são difíceis de manter e administrar.
III - No padrão de projeto Template Method as partes que podem variar, conforme a situação, contexto ou problema a ser
resolvido, são redefinas nas classes derivadas (concretas).
IV - O padrão de projeto Template Method sugere a implementação de um algoritmo fixo em uma superclasse abstrata onde se
consegue alterar o comportamento do algoritmo, sem modificar sua estrutura lógica.
Marque a opção correta.
II - III - IV
III - IV
I - II - IV
I - III - IV
I - II - III
Respondido em 16/04/2020 08:37:23
Gabarito
Coment.
2a Questão
Qual é o padrão GoF comportamental correspondente ao código abaixo?
Approver larry = new Director();
Approver sam = new VicePresident();
Approver tammy = new President();
larry.SetSuccessor(sam);
sam.SetSuccessor(tammy);
// Generate and process purchase requests
Purchase p = new Purchase(2034, 350.00, "Assets");
larry.ProcessRequest(p);
p = new Purchase(2035, 32590.10, "Project X");
larry.ProcessRequest(p);
p = new Purchase(2036, 122100.00, "Project Y");
larry.ProcessRequest(p);
.......
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','5','','','315368653');
javascript:abre_frame('2','5','','','315368653');
javascript:abre_frame('3','5','','','315368653');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
Visitor
Chain of Responsability
Command
State
Observer
Respondido em 16/04/2020 08:37:38
Explicação:
O padrão Chain of Responsability, compõem objetos em cascata para, através dela, delegar
uma requisição até que um objeto a sirva.
3a Questão
Dentre as opções apresentadas, assinale aquela que corresponde ao padrão de projeto que sugere a implementação de um
algoritmo que faz uso de diferentes métodos, diferenciando das soluções convencionais por deixar o esqueleto deste algoritmo fixo
em uma superclasse abstrata.
Chain of Responsability,
Interpreter;
Proxy;
Flyweight
Template Method
Respondido em 16/04/2020 08:37:40
Gabarito
Coment.
4a Questão
O padrão GoF Comportamental utilizado:
Interpreter
Template Method
Mediator
Iterator
Observer
Respondido em 16/04/2020 08:37:42
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator,
Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
O padrão Observer define uma dependência um para muitos, que será necessária para fazer a
relação entre um conjunto de dados e várias representações, além de permitir que, quando um
objeto mude de estado, todos os dependentes sejam notificados.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/4
5a Questão
O padrão Classe Handler é um Padrão Comportamental GoF. Qual afirmativa abaixo NÃO
corresponde a esse padrão?
Representa um encadeamento de objetos receptores para o processamento de uma série de
solicitações diferentes;
Fornece um acoplamento mais fraco por evitar a associação explícita do remetente de uma
solicitação ao seu receptor e dar a mais de um objeto a oportunidade de tratar a solicitação;
Evita o acoplamento do remetente de uma solicitação ao seu receptor, ao dar a mais de um
objeto a oportunidade de tratar a solicitação;
Encadeia os objetos receptores, passando a solicitação ao longo da cadeia até que um
objeto a trate;
A classe Handler é uma classe abstrata, portanto, não pode ser instanciada diretamente;
Respondido em 16/04/2020 08:37:33
Explicação:
Essa afirmativa NÃO corresponde a Classe Handler está relacionada ao padrão Chain of
Responsability, porque ela se refere a padrão Chain of Responsability.
6a Questão
São exemplos de Padrões de Projeto Comportamentais:
Singleton, Mediator e Strategy
Command, Composite e Memento
State, Flyweight e Decorator
Interpreter, Chain of Responsibility e Observer
Mediator, Strategy e Builder
Respondido em 16/04/2020 08:37:35
7a Questão
O padrão Chain of Responsability é um Padrão Comportamental GoF. Qual afirmativa abaixo não
está relacionada a esse padrão?
Fornece um acoplamento mais fraco por evitar a associação explícita do remetente de uma
solicitação ao seu receptor e dar a mais de um objeto a oportunidade de tratar a solicitação;
Reduz a interconexão entre os objetos, ao invés de um objeto manter uma lista com todos
os receptores candidatos, ele mantém uma referência única para o sucessor;
Os objetos receptores passam a solicitação ao longo da cadeia até que um ou vários objetos
a tratem;
Cada objeto receptor possui uma lógica descrevendo os tipos de solicitação que é capaz de
processar e como passar adiante aquelas que requeiram processamento por outros
receptores;
Representa um encadeamento de objetos receptores para o processamento de uma série de
solicitações diferentes;
Respondido em 16/04/2020 08:37:48
Explicação:
Essa afirmativa está relacionada ao padrão Chain of Responsability, porque ela se refere a padrão
Classe Handler.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/4
8a Questão
A classe Handler é uma classe abstrata, portanto, não pode ser instanciada diretamente. Assim, para montar uma cadeia de
objetos é necessário especializá-la em que tipo de classes? Assinale dentre as opções abaixo aquela que está correta.
alto acoplamento;
Generalizada;
baixa coesão.
concretas;
com método púbico;
Respondido em 16/04/2020 08:37:50
Gabarito
Coment.
javascript:abre_colabore('38403','186819678','3724185962');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 5a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A5_201803107685_V4 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
Qual o objetivo do padrão Interpreter? Assinale a opção CORRETA.
Permitir que suas subclasses redefinam certos passos de um algoritmo sem mudar sua
estrutura;
Dada uma linguagem, definir uma representação para sua gramática junto com um
interpretador que usa a representação para interpretar sentenças na linguagem;
Preencher certas partes do algoritmopor implementações que irão variar, ou seja,
implementar um algoritmo em um método, postergando a definição de alguns passos do
algoritmo, para que outras classes possam redefini-los;
Definir o esqueleto de um algoritmo dentro de uma operação, deixando alguns passos a
serem preenchidos pelas subclasses;
Fornece uma estrutura fixa, de um algoritmo, esta parte fixa deve estar presente na
superclasse, sendo obrigatório uma classeAbstrata que possa conter um método concreto;
Respondido em 16/04/2020 08:37:59
Explicação:
Essa afirmativa está correta, porque as outras se referem ao padrão Template Method.
2a Questão
Qual padrão evita o acoplamento do remetente de uma solicitação ao receptor e encadeia os objetos receptores passando a
solicitação ao longo da cadeia até que um objeto a trate?
Command.
Chain of Responsability.
Observer.
Nenhuma das anteriores.
Mediator.
Respondido em 16/04/2020 08:37:49
Explicação:
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','5','','','315368653');
javascript:abre_frame('2','5','','','315368653');
javascript:abre_frame('3','5','','','315368653');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter, Iterator,
Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são
distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de aspectos
comportamentais.
O padrão Chain of Responsability, compõem objetos em cascata para, através dela, delegar
uma requisição até que um objeto a sirva.
3a Questão
Os padrões de comportamento correspondem a:
Todas as alternativas estão erradas
Iterador, Mediator, Bridge, Composite, Decorator, Façade, Flyweight e Proxy
Abstract Factory, Builder, Factory Method, Prototype e Singleton.
Adapter, Bridge, Composite, Decorator, Façade, flyweight e proxy
Chain of Responsability, Command, Interpreter, Iterador, Mediator, Memento, Observer, State, Strategy, Template Method e
Visitor
Respondido em 16/04/2020 08:37:51
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter, Iterator,
Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são
distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de aspectos
comportamentais.
4a Questão
(CESGRANRIO - 2010) Um dos participantes da equipe de desenvolvimento de um framework deve implementar uma operação em
uma das classes desse framework. Seja X o nome dessa classe. Essa operação implementa um algoritmo em particular. Entretanto,
há passos desse algoritmo que devem ser implementados pelos usuários do framework através da definição de uma subclasse de
X. Sendo assim, qual o padrão de projeto do catálogo GoF (Gang of Four) a ser usado pelo desenvolvedor do framework na
implementação da referida operação, dentre os listados a seguir?
Template Method.
Singleton.
Decorator.
Observer.
Interpreter.
Respondido em 16/04/2020 08:37:53
Explicação:
A família de padrões GoF, está divida em três grupos principais de padrões: Padrões de Criação, Padrões Estruturais e Padrões
Comportamentais.
Há cinco padrões de criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton.
Há 7 (sete) tipos de padrões estruturais GoF: Adapter, Bridge, Composite, Decorator, Façade, Flyweight e Proxy.
Há 11 padrões comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State,
Strategy, Template Method e Visitor.
O Template Method define o esqueleto de um algoritmo dentro de uma operação, deixando alguns passos a serem preenchidos
pelas subclasses. Template Method permite que suas subclasses redefinam certos passos de um algoritmo sem mudar sua
estrutura.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/4
5a Questão
A implementação do padrão de projeto Chain of Responsability requer que cada objeto receptor de uma determinada solicitação
tenha uma lógica para descrever os tipos de solicitação que é capaz de processar e como passar adiante aquelas que requeiram
processamento por outros receptores. A delegação das solicitações pode formar uma árvore de recursão, com um mecanismo
especial para inserção de novos receptores no final da cadeia existente.
Marque a alternativa que NÃO identifica uma vantagem do padrão de projeto Chain of Responsability.
Padrão libera um objeto de ter que conhecer qual o outro objeto que trata de uma solicitação.
As partes invariantes, conforme a situação, contexto ou problema a ser resolvido, podem ser redefinidas em classes
abstratas gerando interconexão entre os objetos.
Remetente e receptor não têm conhecimento explícito um do outro.
Flexibilidade na atribuição de responsabilidades, ou seja, pode-se mudar a cadeia de objetos em tempo de execução,
adicionando ou removendo objetos.
Reduz a interconexão entre os objetos, ao invés de um objeto manter uma lista com todos os receptores candidatos, eles
mantém uma referência única para o sucessor;
Respondido em 16/04/2020 08:37:55
Gabarito
Coment.
6a Questão
Baseando-se nas necessidades apresentadas do lado direito do quadro abaixo, relacione-as ao padrão adequado a utilização e, em
seguida marque a alternativa que corresponde a sequencia numerada correspondente.
4 - 2 - 1 - 3
4 - 3 - 1 - 2
3 - 4 - 1 - 2
2 - 3 - 4 - 1
4 - 1 - 2 - 3
Respondido em 16/04/2020 08:37:57
Explicação:
Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais.
Há cinco padrões de criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton.
7a Questão
O padrão Classe Handler é um Padrão Comportamental GoF. Quais os benefícios do padrão de
projeto Chain of Responsability com a Classe Hanter?
I- O acoplamento é reduzido, pois, o padrão libera um objeto de ter que conhecer qual o outro
objeto que trata de uma solicitação;
II- Reduz a interconexão entre os objetos, ao invés de um objeto manter uma lista com todos os
receptores candidatos, eles mantém uma referência única para o sucessor;
III- Flexibilidade na atribuição de responsabilidades, ou seja, pode-se mudar a cadeia de objetos
em tempo de execução, adicionando ou removendo objetos;
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/4
IV- A receptação não é garantida, isto é, no momento que a requisição não tem um receptor
explícito, não há garantias que ela será tratada;
Est(á)ão correta(s) a(s) afirmativa(s):
Somente os itens I e II;
Somente os itens III e IV;
Somente os itens II e III;
Somente os itens II, III e IV;
Somente os itens I, II e III;
Respondido em 16/04/2020 08:38:11
Explicação:
O item IV é uma deficiência, e não uma vantagem.
8a Questão
O padrão Chain of Responsability é um Padrão Comportamental GoF. Qual o seu objetivo? Assinale
a afirmativa INCORRETA
Fornecer um acoplamento mais fraco por evitar a associação explícita do remetente de uma
solicitação ao seu receptor e dar a mais de um objeto a oportunidade de tratar a solicitação;
Encadear os objetos receptores, passando a solicitação ao longo da cadeia até que um
objeto a trate;
Reduz a interconexão entre os objetos, ao invés de um objeto manter uma lista com todos
os receptores candidatos, eles mantémuma referência única para o sucessor;
Evitar o acoplamento do remetente de uma solicitação ao seu receptor, ao dar a mais de um
objeto a oportunidade de tratar a solicitação;
Representar um encadeamento de objetos receptores para o processamento de uma série
de solicitações diferentes;
Respondido em 16/04/2020 08:38:13
Explicação:
Essa afirmativa está relacionada ao padrão Chain of Responsability, porque ela se refere a padrão
Classe Hanter.
javascript:abre_colabore('38403','186819710','3724186470');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/3
PADRÕES DE PROJETO DE SOFTWARE 5a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A5_201803107685_V5 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
Aponte dentre as opções abaixo aquela que corresponde ao padrão que apresenta como uma desvantagens, a obrigatoriedade da
definição de ao menos, uma classe para cada regra da gramática, logo, gramáticas com muitas regras são difíceis de manter e
administrar.
Interpreter;
Chain of Responsability;
Proxy;
Façade;
Template Method;
Respondido em 16/04/2020 08:38:22
2a Questão
Qual o objetivo do padrão Template Method? Assinale a opção CORRETA.
É recomendada naquelas situações em que há necessidade de interpretar uma linguagem
qualquer e ao mesmo tempo quando se quer representar sentenças da linguagem como
árvores abstratas sintáticas;
Definir o esqueleto de um algoritmo dentro de uma operação, deixando alguns passos a
serem preenchidos pelas subclasses;
Descreve como projetar um conjunto de classes para representar e interpretar uma
gramática para linguagens simples;
Delega responsabilidades e escreve padrões não só voltados para classe, mas também no
que tange a comunicação entre essas classes;
Dada uma linguagem, definir uma representação para sua gramática junto com um
interpretador que usa a representação para interpretar sentenças na linguagem;
Respondido em 16/04/2020 08:38:11
Explicação:
Essa afirmativa está correta, porque as outras se referem ao padrão Interpreter.
Além disso, Template Method permite que suas subclasses redefinam certos passos de um
algoritmo sem mudar sua estrutura.
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','5','','','315368653');
javascript:abre_frame('2','5','','','315368653');
javascript:abre_frame('3','5','','','315368653');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/3
3a Questão
O método Arrays.sort (java.util) recebe como parâmetro um objeto do tipo Comparator que implementa um método compare(a, b)
e utiliza-o para definir as regras de ordenação, assim evitamos duplicidade de código permitindo sobrescrita apenas do critério de
comparação do algoritmo de ordenação, no qual os outros passos permanecem invariantes. Essa situação exemplifica qual dos
padrões GOF abaixo:
Template Method
Flyweight
State
Builder
Command
Respondido em 16/04/2020 08:38:25
4a Questão
(BACEN ¿ CESGRANRIO 2010) Um arquiteto de software estuda que padrões de projeto são apropriados para o novo sistema de
vendas de uma empresa. Ele deve considerar que o padrão
Builder garante que uma classe seja instanciada somente uma vez, fornecendo também um ponto de acesso global.
Chain of Responsibility evita o acoplamento entre o remetente de uma solicitação e seu destinatário, dando oportunidade
para mais de um objeto tratar a solicitação.
Bridge separa a construção de um objeto complexo de sua representação, de modo que o mesmo processo de construção
possa criar diferentes representações.
Template Method utiliza compartilhamento para suportar, eficientemente, grandes quantidades de objetos de granularidade
fina.
Singleton separa uma abstração de sua implementação, de modo que os dois conceitos possam variar de modo
independente.
Respondido em 16/04/2020 08:38:15
5a Questão
(PETROBRAS - CESGRANRIO 2010) Um dos participantes da equipe de desenvolvimento de um framework deve implementar uma
operação em uma das classes desse framework. Seja X o nome dessa classe. Essa operação implementa um algoritmo em
particular. Entretanto, há passos desse algoritmo que devem ser implementados pelos usuários do framework através da definição
de uma subclasse de X. Sendo assim, qual o padrão de projeto do catálogo GoF (Gang of Four) a ser usado pelo desenvolvedor do
framework na implementação da referida operação, dentre os listados a seguir?
Interpreter.
Decorator.
Template Method.
Singleton.
Observer.
Respondido em 16/04/2020 08:38:17
6a Questão
Dentre as opções colocadas abaixo, assinale aquela que corresponde ao padrão de projeto que requer para sua implementação,
que cada objeto receptor de uma determinada solicitação tenha uma lógica para descrever os tipos de solicitação que é capaz de
processar e como passar adiante aquelas que requeiram processamento por outros receptores
Mediator;
Iterator;
Template Method;
classe Handler;
Chain of Responsability ;
Respondido em 16/04/2020 08:38:18
Gabarito
Coment.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/3
7a Questão
Marque a única alternativa correta sobre um cenário de aplicação do padrão de projeto Template Method
Garantimos que não será possível instanciar mais do que 1(uma) instância de uma determinada classe
Permitimos, em tempo de execução, que sejam adicionadas novas operações sobre uma estrutura de dados
Armazenamos o estado interno de um objeto para permitir a implementação da operação de desfazer (undo)
Implementamos partes invariantes de um algoritmo em uma classe abstrata e deixamos que o restante do código seja
implementado nas subclasses
Possibilitamos a comunicação entre interfaces incompatíveis
Respondido em 16/04/2020 08:38:20
8a Questão
Qual padrão define o esqueleto de um algoritmo em uma operação, postergando alguns passos para as subclasses e permite que
subclasses redefinam certos passos de um algoritmo sem mudar a estrutura do mesmo?
Adapter.
State.
Nenhuma das anteriores.
Command.
Template Method.
Respondido em 16/04/2020 08:38:23
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter, Iterator,
Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são
distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de aspectos
comportamentais.
O Template Method define o esqueleto de um algoritmo dentro de uma operação, deixando
alguns passos a serem preenchidos pelas subclasses. Template Method permite que suas
subclasses redefinam certos passos de um algoritmo sem mudar sua estrutura.
javascript:abre_colabore('38403','186819742','3724186982');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 6a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A6_201803107685_V1 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
Assinale dentre as opções abaixo aquela que corresponde ao objetivo do padrão de projeto Command.
disponibilizar chamadas de métodos.
.encapsular chamadas de métodos.
encapsular chamadas dos objetos;
disponibilizar o acesso aos aobjetos
Disponibilizar o uso do método private.
Respondido em 16/04/2020 08:38:522a Questão
Qual padrão usar para fornecer um meio de acessar sequencialmente os elementos de um objeto agregado sem expor a sua
representação subjacente?
Visitor.
Iterator.
Nenhuma das anteriores.
Mediator.
Chain of Responsability.
Respondido em 16/04/2020 08:38:53
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter, Iterator,
Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são
distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de aspectos
comportamentais.
O padrão Iterator por definição "Prove uma maneira de acessar os elementos de um objeto
agregado sequencialmente sem expor sua representação interna.".
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','6','','','315368648');
javascript:abre_frame('2','6','','','315368648');
javascript:abre_frame('3','6','','','315368648');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
3a Questão
O padrão Memento tem como objetivo criar um meio de armazenar informações e um objeto, permitindo acessar essas
informações tanto para salvar o estado de um objeto específico, com Criar uma classe que permita salvar o estado pretendidoo
para recuperar, sempre que for necessário. No entanto, muitas vezes o estado interno de um objeto é inacessível a objetos
externos. Assinale dentre as opções abaixo aquela que se constitui em uma das maneiras de guardar este tipo de informação,
Criar uma classe privada para o padrão Proxy dentro da classe que que se pretende salvar o estado;
Definir um padrão auxiliar que permita o acesso a estas classes;
Criar um clone do objeto, com as informações do estado a ser armazenado;
Criar uma classe que permita salvar o estado pretendido
Criar uma classe pública dentro da classe que se pretende salvar o estado;
Respondido em 16/04/2020 08:38:55
4a Questão
Qual padrão captura e externaliza um estado interno de um objeto para que o objeto possa ser restaurado para este estado mais
tarde sem violar o encapsulamento?
Observer.
State.
Visitor.
Memento.
Nenhuma das anteriores.
Respondido em 16/04/2020 08:38:45
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter, Iterator,
Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são
distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de aspectos
comportamentais.
O padrão Memento tem como objetivo criar um meio de armazenar informações sobre um objeto,
permitindo acessar essas informações tanto para salvar o estado de um objeto específico, como
para recuperar, sempre que for necessário.
5a Questão
(FCC - 2010) Em relação aos padrões de projetos orientados a objetos, separar dados ou lógica de negócios da interface do usuário
e do fluxo da aplicação para permitir que uma mesma lógica de negócios possa ser acessada e visualizada através de várias
interfaces, sem saber de quantas nem quais interfaces com o usuário estão exibindo seu estado, é característica do padrão de
projeto arquitetural
Creator.
Expert.
Layers.
Model-View-Controller.
Observer.
Respondido em 16/04/2020 08:38:47
Explicação:
A família de padrões GoF, está divida em três grupos principais de padrões: Padrões de Criação, Padrões Estruturais e Padrões
Comportamentais.
Há cinco padrões de criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton.
Há 7 (sete) tipos de padrões estruturais GoF: Adapter, Bridge, Composite, Decorator, Façade, Flyweight e Proxy.
Há 11 padrões comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer,
State, Strategy, Template Method e Visitor.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/4
O padrão de arquitetura MVC é uma combinação de padrões centrada no padrão Observer e consiste de três participantes:
Model: representa os dados da aplicação e regras de negócio associadas com os dados. Notifica o View sobre alterações.
View: é um Observer para o Model. Notifica o Controller sobre eventos iniciados pelo usuário e lê dados do Model.
Controller: é um Observer para o View. Encapsula lógica de controle que afeta o Model e seleciona View.
O MVC é utilizado em muitos projetos devido à arquitetura que possui, o que possibilita a divisão do projeto em camadas muito
bem definidas. Cada uma delas, o Model, o Controller e a View, executa o que lhe é definido e nada mais do que isso.
A utilização do padrão MVC trás como benefício isolar as regras de negócios da lógica de apresentação, a interface com o usuário.
Isto possibilita a existência de várias interfaces com o usuário que podem ser modificadas sem que haja a necessidade da alteração
das regras de negócios, proporcionando assim muito mais flexibilidade e oportunidades de reuso das classes.
Uma das características de um padrão de projeto é poder aplicá-lo em sistemas distintos. O padrão MVC pode ser utilizado em
vários tipos de projetos como, por exemplo, desktop, web e mobile.
6a Questão
Memento:Captar e externalizar um estado interno de um objeto, de maneira que esse estado seja restaurado ao objeto em outro
momento, sem violar seu encapsulamento (Gamma et al., 2000). Sobre este padrão de projetos podemos afirma com certeza:
tem como objetivo criar um meio de armazenar informações sobre um objeto, permitindo acessar essas informações tanto
para salvar o estado de um objeto específico, como para recuperar, sempre que for necessário.
É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais objetos, mas não deve
ser usado quando associado a percorrer arrays ou tabelas.
Considerando objetos que implementam arrays, pode ser visto como uma classe intermediária de comunicação e
gerenciamento, evitando que os objetos se comuniquem de forma direta
É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais objetos
Oferece uma forma de percorrer este tipo de objeto agregado sem conhecer seus detalhes de implementação
Respondido em 16/04/2020 08:38:48
Explicação:
A família de padrões GoF, está divida em três grupos principais de padrões: Padrões de Criação, Padrões Estruturais e Padrões
Comportamentais.
Há 11 padrões comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State,
Strategy, Template Method e Visitor.
Esta definição se refere ao Padrão Memento.
Memento é um padrão comportamental, assim como os seguintes padrões: command, iterator, mediator.
O padrão Memento tem como objetivo criar um meio de armazenar informações sobre um objeto, permitindo acessar essas
informações tanto para salvar o estado de um objeto específico, como para recuperar, sempre que for necessário.
7a Questão
(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.
Proxy, Builder e Mediator.
Composite, Decorato e Proxy.
Mediator, Interpreter e Command.
Singleton, Composite e Interpreter.Prototype, Abstract Factory e Builder.
Respondido em 16/04/2020 08:39:02
Explicação:
A família de padrões GoF, está divida em três grupos principais de padrões: Padrões de Criação, Padrões Estruturais e Padrões
Comportamentais.
Há cinco padrões de criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton.
Há 7 (sete) tipos de padrões estruturais GoF: Adapter, Bridge, Composite, Decorator, Façade, Flyweight e Proxy.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/4
Há 11 padrões comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer,
State, Strategy, Template Method e Visitor.
8a Questão
A implementação do padrão Memento é bastante simples. Normalmente é criada uma classe privada chamada Memento (ou outro
nome com funcionalidades similar) dentro da classe que se pretende salvar o estado. A classe Memento deve ser instanciada com
os atributos que se pretende salvar, fornecendo para tanto ------------------------ Marque dentre as opções abaixo aquela que
complementa a lacuna acima de forma correta.
Uma classe com método publico para este fim;
Utilizar uma classe associativa para o fim desejado.
um construtor público para este fim.
um construtor privado para este fim.
Utilizar um outro padrão comportamental que complemente o objetivo.
Respondido em 16/04/2020 08:39:03
Gabarito
Coment.
javascript:abre_colabore('38403','186819772','3724187596');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 6a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A6_201803107685_V2 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
Existe um padrão de projeto que é bastante utilizado em programação de sistema para gerenciar a comunicação entre dois ou mais
objetos. Ele pode ser visto como uma classe intermediária de comunicação e gerenciamento, evitando que os objetos se
comuniquem de forma direta. Dentre as opções abaixo assinale aquela que está correta para a colocação acima.
Command;
Padrão Proxy;
Padrão Interator;
Padrão Memento
Padrão Mediator;
Respondido em 16/04/2020 08:39:00
2a Questão
O padrão de projeto Comand apresenta uma serie aplicabilidades. Assinale dentre as opções abaixo a unica que não esta correta.
permitir fácil inclusão de novos comandos,permitir isições concorrentes, manter histórico de execução de comandos, suportar
operações para desfazer comandos e, principalmente, evitar o acoplamento direto entre classes e serviços. permitir tratamento de
requ
Evitar o acoplamento direto entre classes e serviços;
permitir fácil inclusão de novos comandos
Permitir em casos excepcionais o acoplamento direto entre classes e serviços;
Manter histórico de execução de comandos;
permitir tratamento de requisições concorrentes;
Respondido em 16/04/2020 08:39:01
3a Questão
O padrão Command é um Padrão Comportamental GoF. Qual o objetivo desse padrão? Assinale a
única resposta INCORRETA
O objetivo do padrão de projeto Command é prover uma maneira de acessar os elementos
de um objeto agregado sequencialmente sem expor sua representação interna;
O objetivo do padrão de projeto Command é encapsular uma solicitação como um objeto,
permitindo a parametrização de clientes com diferentes solicitações;
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','6','','','315368648');
javascript:abre_frame('2','6','','','315368648');
javascript:abre_frame('3','6','','','315368648');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
O objetivo do padrão de projeto Command é permitir desfazer operações realizadas por um
comando, desde que, cada comando tenha implementado um método adicional para este
fim;
O objetivo do padrão de projeto Command é encapsular chamadas de métodos;
O objetivo do padrão de projeto Command é associar um objeto comando a cada objeto
criado ou, pelo menos, aos objetos mais complexos;
Respondido em 16/04/2020 08:39:15
Explicação:
Essa afirmativa está incorreta, porque ela se refere ao padrão Iterator.
4a Questão
O padrão Mediator é um Padrão Comportamental GoF. Como permitir que um grupo de objetos se
comuniquem entre si sem que haja acoplamento entre eles?
I- Por exemplo, fazer chamadas. Eu quero chamar o colaborador 1, que quer chamar o
colaborador 2. tenho que ter uma referência no colaborador 1para poder chamar o colaborador 2;
II- Por exemplo, fazer chamadas. Eu quero chamar o colaborador 1. Qualquer mudança no 2
impactaria no 1. da mesma forma, teria que ter um acoplamento entre as classes 2 e 3 para poder
fazer essa referência. E isso é um grau de acoplamento que eu NÃO desejo;
III- Onde eu tenho um objeto que combina com vários e vários que se combinam com vários. Ou
seja, a retirada de um objeto desse causaria, devido ao seu forte acoplamento, uma redefinição,
uma refatoração, dos códigos aqui presentes;
Est(á)ão correta(s) a(s) afirmativa(s):
Somente o item II;
Somente o item I;
Somente o item III;
Somente os itens II e III;
Somente os itens I e II;
Respondido em 16/04/2020 08:39:18
Explicação:
O item III está incorreto, porque ocorre quando eu quero remover o forte acoplamento presente
em relacionamentos muitos para muitos.
5a Questão
A definição ¿ Captar e externalizar um estado interno de um objeto, de maneira que esse estado seja restaurado ao objeto em
outro momento, sem violar seu encapsulamento (Gamma et al., 2000).¿ Refre-se a que padrão de projeto:
Builder.
Iterator
Mediator
Memento
Command
Respondido em 16/04/2020 08:39:08
Explicação:
Memento é um padrão comportamental, assim como os seguintes padrões: command, iterator, mediator.
O padrão Memento tem como objetivo criar um meio de armazenar informações sobre um objeto, permitindo acessar essas informações tanto para
salvar o estado de um objeto específico, como para recuperar, sempre que for necessário.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/4
6a Questão
Quando encapsulamos requisições de usuários na forma de objetos estamos utilizando o padrão de projeto:
State
Chain of Responsability
Command
Façade
Strategy
Respondido em 16/04/2020 08:39:10
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter, Iterator,
Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são
distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de aspectos
comportamentais.
O padrão Command encapsula uma solicitação como um objeto, permitindo a parametrização de
clientes com diferentes solicitações, o enfileiramento e o registro de solicitações e o suporte a
operações que possam ser desfeitas. O objetivo do padrão de projeto Command é encapsular
chamadas de métodos.
As principais aplicabilidades deste padrão de projeto são: permitir fácil inclusão de novos
comandos, permitir tratamento de requisições concorrentes, manter histórico de execução de
comandos, suportar operações para desfazer comandos e, principalmente, evitar o acoplamento
direto entre classes e serviços.
7a Questão
Definir um objeto que encapsula a forma como um conjunto de objetos interagem. Promove o baixo acoplamento ao evitar que os
objetos se refiram uns aos outros diretamente/explicitamente.
Qual opçãoabaixo corresponde à descrição anterior?
Intenção do padrão de projeto proxy
Intenção do padrão de projeto strategy
Intenção do padrão de projeto mediator
Intenção do padrão de projeto composite
Intenção do padrão de projeto prototype
Respondido em 16/04/2020 08:39:12
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter, Iterator,
Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são
distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de aspectos
comportamentais.
O padrão Mediator é um padrão define um objeto que encapsula a forma como um conjunto de
objetos interage, promovendo o acoplamento fraco ao evitar que os objetos se refiram uns aos
outros explicitamente, permitindo variar suas interações independentemente.
8a Questão
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/4
i) Iterator fornece uma maneira de acessar elementos de um objeto agregado seqüencialmente, sem expor sua representação
interna.
ii) Mediator oferece uma interface única de nível mais elevado para um conjunto de interfaces de um subsistema.
iii) Observer define uma dependência um-para-muitos entre objetos para que quando um objeto mudar de estado, os seus
dependentes sejam notificados e atualizados automaticamente.
Em relação aos itens acima está correto:
somente a i e iii
somente a ii
somente a ii e iii
somente a i
somente a i e ii
Respondido em 16/04/2020 08:39:26
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter, Iterator,
Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
O item II está errado porque o padrão Mediator é um padrão define um objeto que encapsula a
forma como um conjunto de objetos interage, promovendo o acoplamento fraco ao evitar que os
objetos se refiram uns aos outros explicitamente, permitindo variar suas interações
independentemente.
javascript:abre_colabore('38403','186819797','3724188207');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/5
PADRÕES DE PROJETO DE SOFTWARE 6a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A6_201803107685_V3 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
Qual padrão de projeto GOF é melhor representado pela classe java.sql.ResultSet, a qual possui os métodos next() e hasnext() e é
utilizada para percorrer sequencialmente as tuplas que representam o retorno de uma consulta no banco de dados.
Iterator
Interpreter
Command
Visitor
Decorator
Respondido em 16/04/2020 08:39:23
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter, Iterator,
Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são
distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de aspectos
comportamentais
O padrão Iterator por definição "Prove uma maneira de acessar os elementos de um objeto
agregado sequencialmente sem expor sua representação interna.".
2a Questão
Um padrão arquitetural que se preocupa em resolver o problema da organização objetivando facilitar a manutenção e aumentar a
coesão entre classes afins e assim facilitar o reuso de código de forma ordenada e econômica, dividindo essas classes em camadas
com finalidades específicas de armazenar os domínios da aplicação, as apresentações e as regras de negócio é denominado:
Monolítico
Kernel
NCamandas
Pure Fabrication
Model-View-Control
Respondido em 16/04/2020 08:39:25
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','6','','','315368648');
javascript:abre_frame('2','6','','','315368648');
javascript:abre_frame('3','6','','','315368648');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/5
Explicação:
O padrão de arquitetura MVC é uma combinação de padrões centrada no padrão Observer e
consiste de três participantes:
Model: representa os dados da aplicação e regras de negócio associadas com os dados. Notifica o
View sobre alterações.
View: é um Observer para o Model. Notifica o Controller sobre eventos iniciados pelo usuário e lê
dados do Model.
Controller: é um Observer para o View. Encapsula lógica de controle que afeta o Model e seleciona
View.
O MVC é utilizado em muitos projetos devido à arquitetura que possui, o que possibilita a divisão
do projeto em camadas muito bem definidas. Cada uma delas, o Model, o Controller e a View,
executa o que lhe é definido e nada mais do que isso.
A utilização do padrão MVC trás como benefício isolar as regras de negócios da lógica de
apresentação, a interface com o usuário. Isto possibilita a existência de várias interfaces com o
usuário que podem ser modificadas sem que haja a necessidade da alteração das regras de
negócios, proporcionando assim muito mais flexibilidade e oportunidades de reuso das classes.
Uma das características de um padrão de projeto é poder aplicá-lo em sistemas distintos. O
padrão MVC pode ser utilizado em vários tipos de projetos como, por exemplo, desktop, web e
mobile.
3a Questão
São vantagens da arquitetura MVC, EXCETO:
possuir melhor separação de responsabilidades.
garantir um crescimento constante da aplicação.
permitir interfaces mais sofisticadas com o usuário.
poder ser utilizada em aplicações simples ,sem sobrecarregar o desenvolvimento com componentes desnecessários.
permitir a distribuição dos elementos da aplicação.
Respondido em 16/04/2020 08:39:28
Explicação:
Essa afirmativa não é uma vantagem porque:
Model: representa os dados da aplicação e regras de negócio associadas com os dados. Notifica o
View sobre alterações.
View: é um Observer para o Model. Notifica o Controller sobre eventos iniciados pelo usuário e lê
dados do Model.
Controller: é um Observer para o View. Encapsula lógica de controle que afeta o Model e seleciona
View.
O MVC é utilizado em muitos projetos devido à arquitetura que possui, o que possibilita a divisão
do projeto em camadas muito bem definidas. Cada uma delas, o Model, o Controller e a View,
executa o que lhe é definido e nada mais do que isso.
A utilização do padrão MVC trás como benefício isolar as regras de negócios da lógica de
apresentação, a interface com o usuário. Isto possibilita a existência de várias interfaces com o
usuário que podem ser modificadas sem que haja a necessidade da alteração das regras de
negócios, proporcionando assim muito mais flexibilidade e oportunidades de reuso das classes.
Uma das características de um padrão de projeto é poder aplicá-lo em sistemas distintos. O
padrão MVC pode ser utilizado em vários tipos de projetos como, por exemplo, desktop, web e
mobile.
4a Questão
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/5
O padrão Memento é um Padrão Comportamental GoF. Como se dá a implementação desse
padrão?
I- Cria-se uma classe privada chamada Memento (ou outro nome com funcionalidades similar)
dentro da classe que se pretende salvar o estado;
II- Define um objeto que encapsula a forma como um conjunto de objetos interage. Memento
promove o acoplamentofraco ao evitar que os objetos se refiram explicitamente uns aos outros,
permitindo que você varie suas interações independentemente;
III- A classe Memento deve ser instanciada com os atributos que se pretende salvar, fornecendo
um construtor público para este fim;
Est(á)ão correta(s) a(s) afirmativa(s):
Somente o item I;
Somente o item III;
Somente os itens I e III;
Somente o item II;
Somente os itens I e II;
Respondido em 16/04/2020 08:39:42
Explicação:
O objetivo do padrão Memento é captar e externalizar um estado interno de um objeto, de
maneira que esse estado seja restaurado ao objeto em outro momento, sem violar seu
encapsulamento
O item II está incorreto, porque isso ocorre para o padrão Mediator.
5a Questão
Iterator :Fornecer uma maneira de acessar seqüencialmente os elementos de um objeto agregado sem expor sua implementação.
(Gamma et al., 2000). Sobre este padrão de projetos podemos afirma com certeza:
Oferece uma forma de percorrer este tipo de objeto agregado sem conhecer seus detalhes de implementação.
Considerando objetos que implementam arrays, pode ser visto como uma classe intermediária de comunicação e
gerenciamento, evitando que os objetos se comuniquem de forma direta
É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais objetos, mas não deve
ser usado quando associado a percorrer arrays ou tabelas.
É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais objetos
tem uma grande facilidade de mudança de comportamento, pode-se alterar seu funcionamento sem que seja necessário
nenhuma mudança nas demais classes envolvidas, desde que envolvam coleções e matrizes.
Respondido em 16/04/2020 08:39:32
Explicação:
Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais:
O objetivo dos Padrões Comportamentais têm a ver com a maneira pela qual responsabilidades são distribuídas a classes e objetos
durante a realização de uma tarefa. São abstrações de aspectos comportamentais.
Há 11 padrões comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State,
Strategy, Template Method e Visitor.
O padrão Iterator por definição "Prove uma maneira de acessar os elementos de um objeto agregado sequencialmente sem expor
sua representação interna.".
6a Questão
O problema de acessar elementos de coleções, matrizes ou estruturas de dados encadeados é bastante recorrente em
programação. Assinale dentre as alternativas abaixo,aquela que oferece uma forma de percorrer este tipo de objeto agregado, sem
conhecer seus detalhes de implementação.
Padrão Proxy;
Padrão Visitor;
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/5
Padrão Mediator;
Padrão Memento;
Padrão Iterator;
Respondido em 16/04/2020 08:39:34
Gabarito
Coment.
7a Questão
O padrão Memento é um Padrão Comportamental GoF. Qual o objetivo desse padrão?
Assinale a resposta INCORRETA.
Criar uma classe privada chamada Memento dentro da classe dentro de uma outra classe,
onde esta classe pode oferecer além do construtor os métodos para atribuir e consultar o
valor de cada atributo da classe;
Criar uma classe privada chamada Memento (ou outro nome com funcionalidades similar)
dentro da classe que se pretende salvar o estado;
Criar uma instância com os atributos que se pretende salvar, fornecendo um construtor
público para este fim.
Criar um objeto que encapsula a forma como um conjunto de objetos interage;
Criar um meio de armazenar informações sobre um objeto, permitindo acessar essas
informações tanto para salvar o estado de um objeto específico, como para recuperar,
sempre que for necessário;
Respondido em 16/04/2020 08:39:36
Explicação:
Essa resposta está INCORRETA porque ela se refere ao padrão Mediator.
8a Questão
Qual padrão define um objeto que encapsula a forma como um conjunto de objetos interage, promovendo o acoplamento fraco ao
evitar que os objetos se refiram uns aos outros explicitamente, permitindo variar suas interações independentemente?
State.
Mediator.
Strategy.
Command.
Nenhuma das anteriores.
Respondido em 16/04/2020 08:39:38
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter, Iterator,
Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são
distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de aspectos
comportamentais.
O padrão Mediator é um padrão define um objeto que encapsula a forma como um conjunto de
objetos interage, promovendo o acoplamento fraco ao evitar que os objetos se refiram uns aos
outros explicitamente, permitindo variar suas interações independentemente.
O padrão Mediator é muito útil para programadores Visual Basic (principalmente das versões 5 e
6), pois ele é um atalho para a falta de herança. Ele é tipicamente usado em formulários em que o
mesmo media por seus controle e componentes.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 5/5
javascript:abre_colabore('38403','186819829','3724188820');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 6a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A6_201803107685_V4 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
Qual padrão encapsula uma solicitação como objeto permitindo parametrizar clientes com diferentes solicitações, enfileirar ou fazer
log das solicitações e suportar operações que podem ser desfeitas?
Command.
Nenhuma das anteriores.
Observer.
State.
Mediator.
Respondido em 16/04/2020 08:39:46
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter, Iterator,
Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são
distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de aspectos
comportamentais.
O padrão Command encapsula uma solicitação como um objeto, permitindo a parametrização de
clientes com diferentes solicitações, o enfileiramento e o registro de solicitações e o suporte a
operações que possam ser desfeitas. O objetivo do padrão de projeto Command é encapsular
chamadas de métodos.
As principais aplicabilidades deste padrão de projeto são: permitir fácil inclusão de novos
comandos, permitir tratamento de requisições concorrentes, manter histórico de execução de
comandos, suportar operações para desfazer comandos e, principalmente, evitar o acoplamento
direto entre classes e serviços
2a Questão
Assinale dentre as opções abaixo aquela que corresponde ao objetivo do padrão de projeto Command.
encapsular chamadas dos objetos;
Disponibilizar o uso do método private.
disponibilizar o acesso aos aobjetos
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','6','','','315368648');
javascript:abre_frame('2','6','','','315368648');
javascript:abre_frame('3','6','','','315368648');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
disponibilizar chamadas de métodos.
.encapsular chamadas de métodos.
Respondido em 16/04/2020 08:40:003a Questão
(FCC - 2010) Em relação aos padrões de projetos orientados a objetos, separar dados ou lógica de negócios da interface do usuário
e do fluxo da aplicação para permitir que uma mesma lógica de negócios possa ser acessada e visualizada através de várias
interfaces, sem saber de quantas nem quais interfaces com o usuário estão exibindo seu estado, é característica do padrão de
projeto arquitetural
Expert.
Model-View-Controller.
Observer.
Layers.
Creator.
Respondido em 16/04/2020 08:40:02
Explicação:
A família de padrões GoF, está divida em três grupos principais de padrões: Padrões de Criação, Padrões Estruturais e Padrões
Comportamentais.
Há cinco padrões de criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton.
Há 7 (sete) tipos de padrões estruturais GoF: Adapter, Bridge, Composite, Decorator, Façade, Flyweight e Proxy.
Há 11 padrões comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer,
State, Strategy, Template Method e Visitor.
O padrão de arquitetura MVC é uma combinação de padrões centrada no padrão Observer e consiste de três participantes:
Model: representa os dados da aplicação e regras de negócio associadas com os dados. Notifica o View sobre alterações.
View: é um Observer para o Model. Notifica o Controller sobre eventos iniciados pelo usuário e lê dados do Model.
Controller: é um Observer para o View. Encapsula lógica de controle que afeta o Model e seleciona View.
O MVC é utilizado em muitos projetos devido à arquitetura que possui, o que possibilita a divisão do projeto em camadas muito
bem definidas. Cada uma delas, o Model, o Controller e a View, executa o que lhe é definido e nada mais do que isso.
A utilização do padrão MVC trás como benefício isolar as regras de negócios da lógica de apresentação, a interface com o usuário.
Isto possibilita a existência de várias interfaces com o usuário que podem ser modificadas sem que haja a necessidade da alteração
das regras de negócios, proporcionando assim muito mais flexibilidade e oportunidades de reuso das classes.
Uma das características de um padrão de projeto é poder aplicá-lo em sistemas distintos. O padrão MVC pode ser utilizado em
vários tipos de projetos como, por exemplo, desktop, web e mobile.
4a Questão
Memento:Captar e externalizar um estado interno de um objeto, de maneira que esse estado seja restaurado ao objeto em outro
momento, sem violar seu encapsulamento (Gamma et al., 2000). Sobre este padrão de projetos podemos afirma com certeza:
Oferece uma forma de percorrer este tipo de objeto agregado sem conhecer seus detalhes de implementação
tem como objetivo criar um meio de armazenar informações sobre um objeto, permitindo acessar essas informações tanto
para salvar o estado de um objeto específico, como para recuperar, sempre que for necessário.
É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais objetos
Considerando objetos que implementam arrays, pode ser visto como uma classe intermediária de comunicação e
gerenciamento, evitando que os objetos se comuniquem de forma direta
É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais objetos, mas não deve
ser usado quando associado a percorrer arrays ou tabelas.
Respondido em 16/04/2020 08:40:05
Explicação:
A família de padrões GoF, está divida em três grupos principais de padrões: Padrões de Criação, Padrões Estruturais e Padrões
Comportamentais.
Há 11 padrões comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State,
Strategy, Template Method e Visitor.
Esta definição se refere ao Padrão Memento.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/4
Memento é um padrão comportamental, assim como os seguintes padrões: command, iterator, mediator.
O padrão Memento tem como objetivo criar um meio de armazenar informações sobre um objeto, permitindo acessar essas
informações tanto para salvar o estado de um objeto específico, como para recuperar, sempre que for necessário.
5a Questão
(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.
Composite, Decorato e Proxy.
Proxy, Builder e Mediator.
Singleton, Composite e Interpreter.
Prototype, Abstract Factory e Builder.
Mediator, Interpreter e Command.
Respondido em 16/04/2020 08:40:07
Explicação:
A família de padrões GoF, está divida em três grupos principais de padrões: Padrões de Criação, Padrões Estruturais e Padrões
Comportamentais.
Há cinco padrões de criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton.
Há 7 (sete) tipos de padrões estruturais GoF: Adapter, Bridge, Composite, Decorator, Façade, Flyweight e Proxy.
Há 11 padrões comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer,
State, Strategy, Template Method e Visitor.
6a Questão
A implementação do padrão Memento é bastante simples. Normalmente é criada uma classe privada chamada Memento (ou outro
nome com funcionalidades similar) dentro da classe que se pretende salvar o estado. A classe Memento deve ser instanciada com
os atributos que se pretende salvar, fornecendo para tanto ------------------------ Marque dentre as opções abaixo aquela que
complementa a lacuna acima de forma correta.
um construtor público para este fim.
Uma classe com método publico para este fim;
Utilizar um outro padrão comportamental que complemente o objetivo.
Utilizar uma classe associativa para o fim desejado.
um construtor privado para este fim.
Respondido em 16/04/2020 08:39:57
Gabarito
Coment.
7a Questão
O padrão Memento tem como objetivo criar um meio de armazenar informações e um objeto, permitindo acessar essas
informações tanto para salvar o estado de um objeto específico, com Criar uma classe que permita salvar o estado pretendidoo
para recuperar, sempre que for necessário. No entanto, muitas vezes o estado interno de um objeto é inacessível a objetos
externos. Assinale dentre as opções abaixo aquela que se constitui em uma das maneiras de guardar este tipo de informação,
Criar um clone do objeto, com as informações do estado a ser armazenado;
Criar uma classe privada para o padrão Proxy dentro da classe que que se pretende salvar o estado;
Criar uma classe que permita salvar o estado pretendido
Criar uma classe pública dentro da classe que se pretende salvar o estado;
Definir um padrão auxiliar que permita o acesso a estas classes;
Respondido em 16/04/2020 08:39:58
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/4
8a Questão
Qual padrão usar para fornecer um meio de acessar sequencialmente os elementos de um objeto agregado sem expor a sua
representação subjacente?
Mediator.
Nenhuma das anteriores.
Iterator.
Visitor.
Chain of Responsability.
Respondido em 16/04/2020 08:40:00
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter, Iterator,
Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são
distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de aspectos
comportamentais.
O padrão Iterator por definição "Proveuma maneira de acessar os elementos de um objeto
agregado sequencialmente sem expor sua representação interna.".
javascript:abre_colabore('38403','186819851','3724188929');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 6a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A6_201803107685_V5 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
Qual padrão captura e externaliza um estado interno de um objeto para que o objeto possa ser restaurado para este estado mais
tarde sem violar o encapsulamento?
Observer.
Memento.
State.
Nenhuma das anteriores.
Visitor.
Respondido em 16/04/2020 08:40:08
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter, Iterator,
Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são
distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de aspectos
comportamentais.
O padrão Memento tem como objetivo criar um meio de armazenar informações sobre um objeto,
permitindo acessar essas informações tanto para salvar o estado de um objeto específico, como
para recuperar, sempre que for necessário.
2a Questão
Existe um padrão de projeto que é bastante utilizado em programação de sistema para gerenciar a comunicação entre dois ou mais
objetos. Ele pode ser visto como uma classe intermediária de comunicação e gerenciamento, evitando que os objetos se
comuniquem de forma direta. Dentre as opções abaixo assinale aquela que está correta para a colocação acima.
Padrão Mediator;
Command;
Padrão Proxy;
Padrão Interator;
Padrão Memento
Respondido em 16/04/2020 08:40:10
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','6','','','315368648');
javascript:abre_frame('2','6','','','315368648');
javascript:abre_frame('3','6','','','315368648');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
3a Questão
O padrão Mediator é um Padrão Comportamental GoF. Como permitir que um grupo de objetos se
comuniquem entre si sem que haja acoplamento entre eles?
I- Por exemplo, fazer chamadas. Eu quero chamar o colaborador 1, que quer chamar o
colaborador 2. tenho que ter uma referência no colaborador 1para poder chamar o colaborador 2;
II- Por exemplo, fazer chamadas. Eu quero chamar o colaborador 1. Qualquer mudança no 2
impactaria no 1. da mesma forma, teria que ter um acoplamento entre as classes 2 e 3 para poder
fazer essa referência. E isso é um grau de acoplamento que eu NÃO desejo;
III- Onde eu tenho um objeto que combina com vários e vários que se combinam com vários. Ou
seja, a retirada de um objeto desse causaria, devido ao seu forte acoplamento, uma redefinição,
uma refatoração, dos códigos aqui presentes;
Est(á)ão correta(s) a(s) afirmativa(s):
Somente o item III;
Somente os itens I e II;
Somente o item I;
Somente o item II;
Somente os itens II e III;
Respondido em 16/04/2020 08:40:12
Explicação:
O item III está incorreto, porque ocorre quando eu quero remover o forte acoplamento presente
em relacionamentos muitos para muitos.
4a Questão
Definir um objeto que encapsula a forma como um conjunto de objetos interagem. Promove o baixo acoplamento ao evitar que os
objetos se refiram uns aos outros diretamente/explicitamente.
Qual opção abaixo corresponde à descrição anterior?
Intenção do padrão de projeto prototype
Intenção do padrão de projeto strategy
Intenção do padrão de projeto mediator
Intenção do padrão de projeto composite
Intenção do padrão de projeto proxy
Respondido em 16/04/2020 08:40:26
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter, Iterator,
Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são
distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de aspectos
comportamentais.
O padrão Mediator é um padrão define um objeto que encapsula a forma como um conjunto de
objetos interage, promovendo o acoplamento fraco ao evitar que os objetos se refiram uns aos
outros explicitamente, permitindo variar suas interações independentemente.
5a Questão
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/4
O padrão de projeto Comand apresenta uma serie aplicabilidades. Assinale dentre as opções abaixo a unica que não esta correta.
permitir fácil inclusão de novos comandos,permitir isições concorrentes, manter histórico de execução de comandos, suportar
operações para desfazer comandos e, principalmente, evitar o acoplamento direto entre classes e serviços. permitir tratamento de
requ
Evitar o acoplamento direto entre classes e serviços;
permitir fácil inclusão de novos comandos
Manter histórico de execução de comandos;
Permitir em casos excepcionais o acoplamento direto entre classes e serviços;
permitir tratamento de requisições concorrentes;
Respondido em 16/04/2020 08:40:16
6a Questão
Quando encapsulamos requisições de usuários na forma de objetos estamos utilizando o padrão de projeto:
Strategy
Command
State
Façade
Chain of Responsability
Respondido em 16/04/2020 08:40:18
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter, Iterator,
Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são
distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de aspectos
comportamentais.
O padrão Command encapsula uma solicitação como um objeto, permitindo a parametrização de
clientes com diferentes solicitações, o enfileiramento e o registro de solicitações e o suporte a
operações que possam ser desfeitas. O objetivo do padrão de projeto Command é encapsular
chamadas de métodos.
As principais aplicabilidades deste padrão de projeto são: permitir fácil inclusão de novos
comandos, permitir tratamento de requisições concorrentes, manter histórico de execução de
comandos, suportar operações para desfazer comandos e, principalmente, evitar o acoplamento
direto entre classes e serviços.
7a Questão
A definição ¿ Captar e externalizar um estado interno de um objeto, de maneira que esse estado seja restaurado ao objeto em
outro momento, sem violar seu encapsulamento (Gamma et al., 2000).¿ Refre-se a que padrão de projeto:
Command
Builder.
Mediator
Iterator
Memento
Respondido em 16/04/2020 08:40:31
Explicação:
Memento é um padrão comportamental, assim como os seguintes padrões: command, iterator, mediator.
O padrão Memento tem como objetivo criar um meio de armazenar informações sobre um objeto, permitindo acessar essas informações tanto para
salvar o estado de um objeto específico, como para recuperar, sempre que for necessário.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/4
8a Questão
O padrão Command é um Padrão Comportamental GoF. Qual o objetivo desse padrão? Assinale a
única resposta INCORRETA
O objetivo do padrão de projeto Command é prover uma maneira de acessar os elementos
de um objetoagregado sequencialmente sem expor sua representação interna;
O objetivo do padrão de projeto Command é encapsular chamadas de métodos;
O objetivo do padrão de projeto Command é permitir desfazer operações realizadas por um
comando, desde que, cada comando tenha implementado um método adicional para este
fim;
O objetivo do padrão de projeto Command é associar um objeto comando a cada objeto
criado ou, pelo menos, aos objetos mais complexos;
O objetivo do padrão de projeto Command é encapsular uma solicitação como um objeto,
permitindo a parametrização de clientes com diferentes solicitações;
Respondido em 16/04/2020 08:40:21
Explicação:
Essa afirmativa está incorreta, porque ela se refere ao padrão Iterator.
javascript:abre_colabore('38403','186819880','3724189238');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/5
PADRÕES DE PROJETO DE SOFTWARE 7a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A7_201803107685_V1 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
Marque a alternativa que está relacionada com o padrão de projeto que permite definir uma nova operação sem mudar as classes
dos elementos sobre os quais opera.
Strategy
Memento
Visitor
Observer
State
Respondido em 16/04/2020 08:40:39
Gabarito
Coment.
2a Questão
Qual padrão é melhor usado para um sistema Desktop?
State;
Observer;
Visitor;
Strategy;
Memento;
Respondido em 16/04/2020 08:40:40
Explicação:
Esta opção está correta porque o objetivo do padrão Observer é definir uma dependência um-
para-muitos entre objetos para que quando um objeto mudar de estado, todos os seus
dependentes sejam notificados e atualizados automaticamente.
O Observer tem uma característica diferente. É muito usado em sistema desktop.
3a Questão
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','7','','','315368654');
javascript:abre_frame('2','7','','','315368654');
javascript:abre_frame('3','7','','','315368654');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/5
Qual é o padrão responsável para separar os dados lógicos e as regras de negócio da interface do usuário e o fluxo da aplicação?
Bridge
Indirection
MVC
Controller
Chain of Responsibility
Respondido em 16/04/2020 08:40:42
Explicação:
O padrão de arquitetura MVC é uma combinação de padrões centrada no padrão Observer e
consiste de três participantes:
Model: representa os dados da aplicação e regras de negócio associadas com os dados. Notifica o
View sobre alterações.
View: é um Observer para o Model. Notifica o Controller sobre eventos iniciados pelo usuário e lê
dados do Model.
Controller: é um Observer para o View. Encapsula lógica de controle que afeta o Model e seleciona
View.
O MVC é utilizado em muitos projetos devido à arquitetura que possui, o que possibilita a divisão
do projeto em camadas muito bem definidas. Cada uma delas, o Model, o Controller e a View,
executa o que lhe é definido e nada mais do que isso.
A utilização do padrão MVC trás como benefício isolar as regras de negócios da lógica de
apresentação, a interface com o usuário. Isto possibilita a existência de várias interfaces com o
usuário que podem ser modificadas sem que haja a necessidade da alteração das regras de
negócios, proporcionando assim muito mais flexibilidade e oportunidades de reuso das classes.
Uma das características de um padrão de projeto é poder aplicá-lo em sistemas distintos. O
padrão MVC pode ser utilizado em vários tipos de projetos como, por exemplo, desktop, web e
mobile.
4a Questão
O padrão de projeto State deve ser implementado não somente quando o comportamento de um objeto depende do seu estado,
mas também quando a funcionalidade de um objeto possui _______________; Complete a lacuna com a opção correta. .
padrão bridge;
condicionais grandes;
Atributos valorados;
padrão visitor;
agreagações;
Respondido em 16/04/2020 08:40:44
Gabarito
Coment.
5a Questão
(2016 - COPEVE-UFAL) A adoção de padrões de projeto proporciona uma reutilização estratégica durante o desenvolvimento de
software, uma vez que promove o reuso de soluções previamente validadas e notadamente bem conhecidas (reuso de rationale).
A figura apresenta um diagrama de classes que modela o controlador responsável por controlar o nível de dificuldade de um jogo
eletrônico. Vale salientar que o nível de dificuldade pode ser ajustado em tempo de execução, a partir do perfil de cada jogador.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/5
Assinale a alternativa que representa o padrão de projetos que foi utilizado no exemplo apresentado na figura.
Observer, uma vez que o controlador precisa monitorar os níveis de dificuldade.
Command, uma vez que cada nível de dificuldade representa um comando complementar do jogo, representando, assim,
diferentes formas de acionar o jogo.
Composite, pois os diversos níveis de dificuldade estão representados através de uma hierarquia bem definida.
State, uma vez que este padrão possui o propósito de facilitar mudanças dinâmicas na execução dos métodos.
Chain of Responsability, uma vez que não se sabe a priori qual o nível de dificuldade que será utilizado, variando no
decorrer da execução.
Respondido em 16/04/2020 08:40:46
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter, Iterator,
Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são
distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de aspectos
comportamentais.
O padrão State permite que um objeto altere o seu comportamento quando o seu estado interno
muda. O objeto parecerá ter mudado de classe.
O padrão encapsula os estados em classes separadas e delega as tarefas para o objeto que
representa o estado atual, nós sabemos que os comportamentos mudam juntamento com o
estado interno.
6a Questão
O padrão GoF comportalmental utilizado:
Strategy
State
Iterator
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/5
Memento
Observer
Respondido em 16/04/2020 08:41:01
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator,
Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
O padrão Strategy define uma família de algoritmos , encapsula cada um deles, e torna-os
intercambiáveis, permitindo assim que os algoritmos variem independentemente dos clientes que
os utilizam.
7a Questão
Qual a diferença entre o padrão Strategy e State?
A diferença do Strategy para o State, é que no Strategy vou usar objetos para representar
estados e polimorfismos.
A diferença do Strategy para o State, é que no Strategy adiciona um comportamento a uma
aplicação.
A diferença do Strategy para o State, é que no Strategy eu vou encapsular.
A diferença do Strategy para o State, é que no Strategy vou trabalha apenas com o estado
da classe Conectado.
A diferença do Strategy para o State, é que no Strategy muda de comportamento em
função do seu estado.
Respondido em 16/04/2020 08:40:51
Explicação:
Esta afirmativa está correta porque o padrão Strategy define uma família de algoritmos ,
encapsula cada um deles , e torna-os intercambiáveis, permitindo assim que os algoritmos variem
independentemente dos clientes que os utilizam. Jáno padrão State, ele permite a um objeto
alterar o seu comportamento quando o seu estado interno mudar. O objeto parecerá ter mudado
de classe
8a Questão
O padrão Visitor é um Padrão Comportamental GoF. O objetivo desse padrão é:
I- Representar uma operação a ser realizada nos elementos de uma estrutura de objetos;
II- Definir uma dependência um-para-muitos entre objetos para que quando um objeto mudar de
estado, todos os seus dependentes sejam notificados e atualizados automaticamente;
III- permite que você defina uma nova operação sem alterar as classes dos elementos nos quais a
operação atua;
Est(á)ão correta(s) a(s) afirmativa(s):
Somente o item II;
Somente os itens I e III;
Somente os itens I e II;
Somente o item III;
Somente o item I;
Respondido em 16/04/2020 08:41:05
Explicação:
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 5/5
O objetivo do padrão Visitor, de acordo com Gamma et. al, 2000, é representar uma operação a
ser realizada nos elementos de uma estrutura de objetos. Visitor permite que você defina uma
nova operação sem alterar as classes dos elementos nos quais a operação atua.
O item II está incorreto, porque esse é o objetivo do padrão Observer.
javascript:abre_colabore('38403','186819930','3724190163');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 7a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A7_201803107685_V2 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
Marque a alternativa que está relacionada com o padrão de projeto que pode ser utilizado para configurar uma classe com um
dentre muitos comportamentos disponíveis.
State
Memento
Observer
Strategy
Visitor
Respondido em 16/04/2020 08:41:18
Explicação:
Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais.
Os padrões Comportamentais GoF contemplam 11 (onze) tipos de padrões: Escopo por Classe: Interpreter, Template Method;
Escopo por Objeto: Chain of Responsibility, Command, Iterator, Mediator, Memento, Observer, State, Strategy, e Visitor.
O padrão Strategy define uma família de algoritmos , encapsula cada um deles, e torna-os intercambiáveis, permitindo assim que
os algoritmos variem independentemente dos clientes que os utilizam.
Gabarito
Coment.
2a Questão
Qual padrão permite a um objeto alterar seu comportamento quando o seu estado interno muda parecendo que ele alterou sua
classe?
Observer.
Builder.
Nenhuma das anteriores.
Mediator.
State.
Respondido em 16/04/2020 08:41:08
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator,
Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','7','','','315368654');
javascript:abre_frame('2','7','','','315368654');
javascript:abre_frame('3','7','','','315368654');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
State - Permiti a um objeto alterar o seu comportamento quanto o seu estado interno mudar. O
objeto irá aparentar mudar de classe.
3a Questão
Qual padrão define uma família de algoritmos, encapsula cada uma delas e torna-as intercambiáveis, e permite que o algoritmo
varie independentemente dos clientes que o utilizam?
Decorator.
Strategy.
Nenhuma das anteriores.
Visitor.
Template Method.
Respondido em 16/04/2020 08:41:10
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter, Iterator,
Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são
distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de aspectos
comportamentais.
O padrão Strategy define uma família de algoritmos , encapsula cada um deles, e torna-os
intercambiáveis, permitindo assim que os algoritmos variem independentemente dos clientes que
os utilizam.
4a Questão
Qual padrão representa uma operação a ser executada nos elementos de uma estrutura de objetos e permite definir uma nova
operação sem mudar as classes dos elementos sobre os quais operar?
Nenhuma das anteriores.
Visitor.
Bridge.
Memento.
Decorator.
Respondido em 16/04/2020 08:41:24
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter, Iterator,
Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são
distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de aspectos
comportamentais.
O padrão Visitor representa uma operação a ser realizada nos elementos de uma estrutura de
objetos. Visitor permite que você defina uma nova operação sem alterar as classes dos elementos
nos quais a operação atua.
5a Questão
Dentre as opções abaixo identifique aquela que corresponde ao padrão de projeto, cujo principal objetivo, é permitir que sejam
adicionadas novas funcionalidades a classes previamente concebidas sem que haja necessidade de alterar sua implementação.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/4
State;
Strategy;
Visitor;
Criador;
Interpreter
Respondido em 16/04/2020 08:41:13
6a Questão
considere a definição: Visitor: Representar uma operação a ser realizada nos elementos de uma estrutura de objetos. Visitor
permite que você defina uma nova operação sem alterar as classes dos elementos nos quais a operação atua (Gamma et al.,
2000). Qual das alternativas é completamente verdadeira?
O padrão de projeto acima é indicado para ser utilizado quando uma abstração tem dois aspectos, um dependente do
outro. Encapsular tais aspectos em objetos separados permite que variem e sejam reusados separadamente;
O principal objetivo do padrão acima é conservar as funcionalidades em não se permita adicionar novas, E obriga que haja
necessidade de alterar sua implementação
A idéia principal do padrão acima é implementar diferentes algoritmos em uma hierarquia de classes, onde cada um deles
pode ser substituído por outro, independente do cliente que o utiliza.
O padrão de projeto acima deve ser utilizado não somente quando o comportamento de um objeto depende do seu estado,
podendo ser alterado em tempo de execução, mas também quando a funcionalidade de um objeto possui condicionais
grandes.
O principal objetivo do padrão acima é permitir que sejam adicionadas novas funcionalidades a classes previamente
concebidas, sem que haja necessidade de alterar sua implementação.
Respondido em 16/04/2020 08:41:16
Explicação:
A família de padrões GoF, está divida em três grupos principais de padrões: Padrões de Criação, Padrões Estruturais e Padrões
Comportamentais.
Há 11 padrões comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State,
Strategy, Template Method e Visitor.
Esta definição se refere ao Padrão Visitor.
Memento é um padrão comportamental, assim como os seguintes padrões: command, iterator, mediator.
O principal objetivo do padrão Visitor é permitir que sejam adicionadas novas funcionalidades a classes previamente concebidas,
sem que haja necessidade de alterar sua implementação.O padrão Visitor representa uma operação a ser realizada nos elementos de uma estrutura de objetos. Visitor permite que você
defina uma nova operação sem alterar as classes dos elementos nos quais a operação atua.
7a Questão
Identifique dentre as opções abaixo, aquela que representa o padrão de projeto comportamental , cuja ideia principal é
implementar diferentes algoritmos em uma hierarquia de classes, onde cada um deles pode ser substituído pelo outro,
independente do cliente que o utiliza .
Decorator;
Visitor;
Proxi;
Strategy
State;
Respondido em 16/04/2020 08:41:18
Gabarito
Coment.
8a Questão
Quando usamos padrão Strategy, qual a ideia que eu pretendo com ele?
I- A ideia é que, toda vez que esse mude um objeto, outros objetos fiquem sabendo
automaticamente;
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/4
II- A ideia é encapsular códigos, algoritmos, tal que eu possa utilizar em vários objetos;
III- A ideia é criar objetos que possam atender as várias estratégias;
Est(á)ão correta(s) a(s) afirmativa(s):
Somente o item III;
Somente os itens II e III;
Somente o item I;
Somente o item II;
Somente os itens I e II;
Respondido em 16/04/2020 08:41:32
Explicação:
O item I está INCORRETO, porque essa é a ideia do padrão Observer.
O objetivo do padrão Strategy é definir uma família de algoritmos , encapsula cada um deles , e
torna-os intercambiáveis, permitindo assim que os algoritmos variem independentemente dos
clientes que os utilizam.
javascript:abre_colabore('38403','186819980','3724191478');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 7a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A7_201803107685_V3 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
Marque a alternativa que está relacionada ao padrão de projeto que é mais apropriado quando o comportamento de um objeto
depende do seu estado e ele pode mudar seu comportamento em tempo de execução.
Observer
Visitor
Strategy
State
Memento
Respondido em 16/04/2020 08:41:27
2a Questão
(2016 - COPEVE-UFAL) A adoção de padrões de projeto proporciona uma reutilização estratégica durante o desenvolvimento de
software, uma vez que promove o reuso de soluções previamente validadas e notadamente bem conhecidas (reuso de rationale).
A figura apresenta um diagrama de classes que modela o controlador responsável por controlar o nível de dificuldade de um jogo
eletrônico. Vale salientar que o nível de dificuldade pode ser ajustado em tempo de execução, a partir do perfil de cada jogador.
Assinale a alternativa que representa o padrão de projetos que foi utilizado no exemplo apresentado na figura.
Command, uma vez que cada nível de dificuldade representa um comando complementar do jogo, representando, assim,
diferentes formas de acionar o jogo.
State, uma vez que este padrão possui o propósito de facilitar mudanças dinâmicas na execução dos métodos.
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','7','','','315368654');
javascript:abre_frame('2','7','','','315368654');
javascript:abre_frame('3','7','','','315368654');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
Composite, pois os diversos níveis de dificuldade estão representados através de uma hierarquia bem definida.
Chain of Responsability, uma vez que não se sabe a priori qual o nível de dificuldade que será utilizado, variando no
decorrer da execução.
Observer, uma vez que o controlador precisa monitorar os níveis de dificuldade.
Respondido em 16/04/2020 08:41:29
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter, Iterator,
Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são
distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de aspectos
comportamentais.
O padrão State permite que um objeto altere o seu comportamento quando o seu estado interno
muda. O objeto parecerá ter mudado de classe.
O padrão encapsula os estados em classes separadas e delega as tarefas para o objeto que
representa o estado atual, nós sabemos que os comportamentos mudam juntamento com o
estado interno.
3a Questão
Marque a alternativa que está relacionada com o padrão de projeto que permite definir uma nova operação sem mudar as classes
dos elementos sobre os quais opera.
Visitor
Strategy
Memento
Observer
State
Respondido em 16/04/2020 08:41:44
Gabarito
Coment.
4a Questão
Qual padrão é melhor usado para um sistema Desktop?
State;
Visitor;
Strategy;
Observer;
Memento;
Respondido em 16/04/2020 08:41:46
Explicação:
Esta opção está correta porque o objetivo do padrão Observer é definir uma dependência um-
para-muitos entre objetos para que quando um objeto mudar de estado, todos os seus
dependentes sejam notificados e atualizados automaticamente.
O Observer tem uma característica diferente. É muito usado em sistema desktop.
5a Questão
Qual a diferença entre o padrão Strategy e State?
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/4
A diferença do Strategy para o State, é que no Strategy adiciona um comportamento a uma
aplicação.
A diferença do Strategy para o State, é que no Strategy vou trabalha apenas com o estado
da classe Conectado.
A diferença do Strategy para o State, é que no Strategy vou usar objetos para representar
estados e polimorfismos.
A diferença do Strategy para o State, é que no Strategy muda de comportamento em
função do seu estado.
A diferença do Strategy para o State, é que no Strategy eu vou encapsular.
Respondido em 16/04/2020 08:41:47
Explicação:
Esta afirmativa está correta porque o padrão Strategy define uma família de algoritmos ,
encapsula cada um deles , e torna-os intercambiáveis, permitindo assim que os algoritmos variem
independentemente dos clientes que os utilizam. Já no padrão State, ele permite a um objeto
alterar o seu comportamento quando o seu estado interno mudar. O objeto parecerá ter mudado
de classe
6a Questão
O padrão de projeto State deve ser implementado não somente quando o comportamento de um objeto depende do seu estado,
mas também quando a funcionalidade de um objeto possui _______________; Complete a lacuna com a opção correta. .
Atributos valorados;
padrão visitor;
condicionais grandes;
agreagações;
padrão bridge;
Respondido em 16/04/2020 08:41:37
Gabarito
Coment.
7a Questão
O padrão Visitor é um Padrão Comportamental GoF. O objetivo desse padrão é:
I- Representar uma operação a ser realizada nos elementos de uma estrutura de objetos;
II- Definir uma dependência um-para-muitos entre objetos para que quando um objeto mudar de
estado, todos os seus dependentes sejam notificados e atualizados automaticamente;
III- permite que você defina uma nova operação sem alterar as classes dos elementos nos quais a
operação atua;
Est(á)ão correta(s) a(s) afirmativa(s):
Somente os itens I e II;
Somente o item III;
Somente o item I;
Somente o item II;
Somente os itens I e III;
Respondido em 16/04/2020 08:41:51
Explicação:
O objetivo do padrão Visitor, de acordo com Gamma et. al, 2000, é representar uma operação a
ser realizada nos elementos de uma estrutura de objetos. Visitor permite que você defina uma
nova operação sem alteraras classes dos elementos nos quais a operação atua.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/4
O item II está incorreto, porque esse é o objetivo do padrão Observer.
8a Questão
O padrão GoF comportalmental utilizado:
State
Iterator
Strategy
Memento
Observer
Respondido em 16/04/2020 08:41:53
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator,
Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
O padrão Strategy define uma família de algoritmos , encapsula cada um deles, e torna-os
intercambiáveis, permitindo assim que os algoritmos variem independentemente dos clientes que
os utilizam.
javascript:abre_colabore('38403','186820008','3724191492');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 7a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A7_201803107685_V4 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
Qual é o padrão responsável para separar os dados lógicos e as regras de negócio da interface do usuário e o fluxo da aplicação?
Controller
MVC
Bridge
Chain of Responsibility
Indirection
Respondido em 16/04/2020 08:42:03
Explicação:
O padrão de arquitetura MVC é uma combinação de padrões centrada no padrão Observer e
consiste de três participantes:
Model: representa os dados da aplicação e regras de negócio associadas com os dados. Notifica o
View sobre alterações.
View: é um Observer para o Model. Notifica o Controller sobre eventos iniciados pelo usuário e lê
dados do Model.
Controller: é um Observer para o View. Encapsula lógica de controle que afeta o Model e seleciona
View.
O MVC é utilizado em muitos projetos devido à arquitetura que possui, o que possibilita a divisão
do projeto em camadas muito bem definidas. Cada uma delas, o Model, o Controller e a View,
executa o que lhe é definido e nada mais do que isso.
A utilização do padrão MVC trás como benefício isolar as regras de negócios da lógica de
apresentação, a interface com o usuário. Isto possibilita a existência de várias interfaces com o
usuário que podem ser modificadas sem que haja a necessidade da alteração das regras de
negócios, proporcionando assim muito mais flexibilidade e oportunidades de reuso das classes.
Uma das características de um padrão de projeto é poder aplicá-lo em sistemas distintos. O
padrão MVC pode ser utilizado em vários tipos de projetos como, por exemplo, desktop, web e
mobile.
2a Questão
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','7','','','315368654');
javascript:abre_frame('2','7','','','315368654');
javascript:abre_frame('3','7','','','315368654');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
Identifique dentre as opções abaixo, aquela que representa o padrão de projeto comportamental , cuja ideia principal é
implementar diferentes algoritmos em uma hierarquia de classes, onde cada um deles pode ser substituído pelo outro,
independente do cliente que o utiliza .
Strategy
Decorator;
Visitor;
Proxi;
State;
Respondido em 16/04/2020 08:41:54
Gabarito
Coment.
3a Questão
Quando usamos padrão Strategy, qual a ideia que eu pretendo com ele?
I- A ideia é que, toda vez que esse mude um objeto, outros objetos fiquem sabendo
automaticamente;
II- A ideia é encapsular códigos, algoritmos, tal que eu possa utilizar em vários objetos;
III- A ideia é criar objetos que possam atender as várias estratégias;
Est(á)ão correta(s) a(s) afirmativa(s):
Somente os itens II e III;
Somente os itens I e II;
Somente o item III;
Somente o item II;
Somente o item I;
Respondido em 16/04/2020 08:41:56
Explicação:
O item I está INCORRETO, porque essa é a ideia do padrão Observer.
O objetivo do padrão Strategy é definir uma família de algoritmos , encapsula cada um deles , e
torna-os intercambiáveis, permitindo assim que os algoritmos variem independentemente dos
clientes que os utilizam.
4a Questão
Marque a alternativa que está relacionada com o padrão de projeto que pode ser utilizado para configurar uma classe com um
dentre muitos comportamentos disponíveis.
Observer
Visitor
Memento
Strategy
State
Respondido em 16/04/2020 08:42:09
Explicação:
Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais.
Os padrões Comportamentais GoF contemplam 11 (onze) tipos de padrões: Escopo por Classe: Interpreter, Template Method;
Escopo por Objeto: Chain of Responsibility, Command, Iterator, Mediator, Memento, Observer, State, Strategy, e Visitor.
O padrão Strategy define uma família de algoritmos , encapsula cada um deles, e torna-os intercambiáveis, permitindo assim que
os algoritmos variem independentemente dos clientes que os utilizam.
Gabarito
Coment.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/4
5a Questão
Qual padrão permite a um objeto alterar seu comportamento quando o seu estado interno muda parecendo que ele alterou sua
classe?
Observer.
Nenhuma das anteriores.
Builder.
Mediator.
State.
Respondido em 16/04/2020 08:41:59
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator,
Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
State - Permiti a um objeto alterar o seu comportamento quanto o seu estado interno mudar. O
objeto irá aparentar mudar de classe.
6a Questão
considere a definição: Visitor: Representar uma operação a ser realizada nos elementos de uma estrutura de objetos. Visitor
permite que você defina uma nova operação sem alterar as classes dos elementos nos quais a operação atua (Gamma et al.,
2000). Qual das alternativas é completamente verdadeira?
O principal objetivo do padrão acima é conservar as funcionalidades em não se permita adicionar novas, E obriga que haja
necessidade de alterar sua implementação
O padrão de projeto acima deve ser utilizado não somente quando o comportamento de um objeto depende do seu estado,
podendo ser alterado em tempo de execução, mas também quando a funcionalidade de um objeto possui condicionais
grandes.
A idéia principal do padrão acima é implementar diferentes algoritmos em uma hierarquia de classes, onde cada um deles
pode ser substituído por outro, independente do cliente que o utiliza.
O padrão de projeto acima é indicado para ser utilizado quando uma abstração tem dois aspectos, um dependente do
outro. Encapsular tais aspectos em objetos separados permite que variem e sejam reusados separadamente;
O principal objetivo do padrão acima é permitir que sejam adicionadas novas funcionalidades a classes previamente
concebidas, sem que haja necessidade de alterar sua implementação.
Respondido em 16/04/2020 08:42:13
Explicação:
A família de padrões GoF, está divida em três grupos principais de padrões: Padrões de Criação, Padrões Estruturais e Padrões
Comportamentais.
Há 11 padrões comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State,
Strategy, Template Method e Visitor.
Esta definição se refere ao Padrão Visitor.
Memento é um padrão comportamental, assim como os seguintes padrões: command, iterator, mediator.
O principal objetivo do padrão Visitor é permitir que sejam adicionadas novas funcionalidades a classes previamente concebidas,
sem que haja necessidade de alterar sua implementação.
O padrão Visitor representa uma operação a ser realizadanos elementos de uma estrutura de objetos. Visitor permite que você
defina uma nova operação sem alterar as classes dos elementos nos quais a operação atua.
7a Questão
Dentre as opções abaixo identifique aquela que corresponde ao padrão de projeto, cujo principal objetivo, é permitir que sejam
adicionadas novas funcionalidades a classes previamente concebidas sem que haja necessidade de alterar sua implementação.
Strategy;
Interpreter
Criador;
Visitor;
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/4
State;
Respondido em 16/04/2020 08:42:03
8a Questão
Qual padrão representa uma operação a ser executada nos elementos de uma estrutura de objetos e permite definir uma nova
operação sem mudar as classes dos elementos sobre os quais operar?
Decorator.
Visitor.
Memento.
Nenhuma das anteriores.
Bridge.
Respondido em 16/04/2020 08:42:05
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter, Iterator,
Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são
distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de aspectos
comportamentais.
O padrão Visitor representa uma operação a ser realizada nos elementos de uma estrutura de
objetos. Visitor permite que você defina uma nova operação sem alterar as classes dos elementos
nos quais a operação atua.
javascript:abre_colabore('38403','186820044','3724192408');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 7a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A7_201803107685_V5 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
Qual padrão define uma família de algoritmos, encapsula cada uma delas e torna-as intercambiáveis, e permite que o algoritmo
varie independentemente dos clientes que o utilizam?
Strategy.
Template Method.
Decorator.
Visitor.
Nenhuma das anteriores.
Respondido em 16/04/2020 08:42:25
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter, Iterator,
Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são
distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de aspectos
comportamentais.
O padrão Strategy define uma família de algoritmos , encapsula cada um deles, e torna-os
intercambiáveis, permitindo assim que os algoritmos variem independentemente dos clientes que
os utilizam.
2a Questão
O padrão de projeto State deve ser implementado não somente quando o comportamento de um objeto depende do seu estado,
mas também quando a funcionalidade de um objeto possui _______________; Complete a lacuna com a opção correta. .
Atributos valorados;
padrão bridge;
condicionais grandes;
agreagações;
padrão visitor;
Respondido em 16/04/2020 08:42:15
Gabarito
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','7','','','315368654');
javascript:abre_frame('2','7','','','315368654');
javascript:abre_frame('3','7','','','315368654');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
Coment.
3a Questão
Marque a alternativa que está relacionada ao padrão de projeto que é mais apropriado quando o comportamento de um objeto
depende do seu estado e ele pode mudar seu comportamento em tempo de execução.
Memento
Observer
Strategy
State
Visitor
Respondido em 16/04/2020 08:42:29
4a Questão
Marque a alternativa que está relacionada com o padrão de projeto que permite definir uma nova operação sem mudar as classes
dos elementos sobre os quais opera.
State
Memento
Visitor
Strategy
Observer
Respondido em 16/04/2020 08:42:31
Gabarito
Coment.
5a Questão
Qual a diferença entre o padrão Strategy e State?
A diferença do Strategy para o State, é que no Strategy muda de comportamento em
função do seu estado.
A diferença do Strategy para o State, é que no Strategy adiciona um comportamento a uma
aplicação.
A diferença do Strategy para o State, é que no Strategy vou trabalha apenas com o estado
da classe Conectado.
A diferença do Strategy para o State, é que no Strategy vou usar objetos para representar
estados e polimorfismos.
A diferença do Strategy para o State, é que no Strategy eu vou encapsular.
Respondido em 16/04/2020 08:42:32
Explicação:
Esta afirmativa está correta porque o padrão Strategy define uma família de algoritmos ,
encapsula cada um deles , e torna-os intercambiáveis, permitindo assim que os algoritmos variem
independentemente dos clientes que os utilizam. Já no padrão State, ele permite a um objeto
alterar o seu comportamento quando o seu estado interno mudar. O objeto parecerá ter mudado
de classe
6a Questão
O padrão GoF comportalmental utilizado:
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/4
Iterator
Memento
Strategy
State
Observer
Respondido em 16/04/2020 08:42:23
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator,
Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
O padrão Strategy define uma família de algoritmos , encapsula cada um deles, e torna-os
intercambiáveis, permitindo assim que os algoritmos variem independentemente dos clientes que
os utilizam.
7a Questão
O padrão Visitor é um Padrão Comportamental GoF. O objetivo desse padrão é:
I- Representar uma operação a ser realizada nos elementos de uma estrutura de objetos;
II- Definir uma dependência um-para-muitos entre objetos para que quando um objeto mudar de
estado, todos os seus dependentes sejam notificados e atualizados automaticamente;
III- permite que você defina uma nova operação sem alterar as classes dos elementos nos quais a
operação atua;
Est(á)ão correta(s) a(s) afirmativa(s):
Somente os itens I e II;
Somente o item III;
Somente o item I;
Somente o item II;
Somente os itens I e III;
Respondido em 16/04/2020 08:42:26
Explicação:
O objetivo do padrão Visitor, de acordo com Gamma et. al, 2000, é representar uma operação a
ser realizada nos elementos de uma estrutura de objetos. Visitor permite que você defina uma
nova operação sem alterar as classes dos elementos nos quais a operação atua.
O item II está incorreto, porque esse é o objetivo do padrão Observer.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/4
8a Questão
(2016 - COPEVE-UFAL) A adoção de padrões de projeto proporciona uma reutilização estratégica durante o desenvolvimento de
software, uma vez que promove o reuso de soluções previamente validadas e notadamente bem conhecidas (reuso de rationale).
A figura apresenta um diagrama de classes que modela o controlador responsável por controlar o nível de dificuldade de um jogo
eletrônico. Vale salientar que o nível de dificuldade pode ser ajustado em tempo de execução, a partir do perfil de cada jogador.
Assinale a alternativa que representa o padrão de projetos que foi utilizado no exemplo apresentado na figura.
Chain of Responsability, uma vez que não se sabe a priori qual o nível de dificuldadeque será utilizado, variando no
decorrer da execução.
Composite, pois os diversos níveis de dificuldade estão representados através de uma hierarquia bem definida.
State, uma vez que este padrão possui o propósito de facilitar mudanças dinâmicas na execução dos métodos.
Command, uma vez que cada nível de dificuldade representa um comando complementar do jogo, representando, assim,
diferentes formas de acionar o jogo.
Observer, uma vez que o controlador precisa monitorar os níveis de dificuldade.
Respondido em 16/04/2020 08:42:40
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter, Iterator,
Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são
distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de aspectos
comportamentais.
O padrão State permite que um objeto altere o seu comportamento quando o seu estado interno
muda. O objeto parecerá ter mudado de classe.
O padrão encapsula os estados em classes separadas e delega as tarefas para o objeto que
representa o estado atual, nós sabemos que os comportamentos mudam juntamento com o
estado interno.
javascript:abre_colabore('38403','186820070','3724192718');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 8a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A8_201803107685_V1 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
Com relação aos padrões GRASP, assinale a opção correta:
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.
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.
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.
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.
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.
Respondido em 16/04/2020 08:42:53
Explicação:
Temos os seguintes Padrões GRASP: Expert (Especialista), Creator (Criador), High Coesion,
Low Coupling (Baixo Acoplamento), Controller.
Padrões GRASP descrevem princípios fundamentais de atribuição de responsabilidade a objetos.
Grupamento de padrões diferente, que tem propostas diferentes dos padrões GoF.
Os padrões GRASP são PRINCÍCPIOS, nos quais nós devemos nos basear, para desenvolvimento.
Os padrões GRASP se inter-relacionam se misturam e são aplicados nos padrões GoF.
Os padrões GRASP vão decidir quem é que vai assumir essa responsabilidade aqui.
O objetivo dele é identificar quem vai determinar quem vai ter a responsabilidade,
quem é que vai assumir a responsabilidade de um determinado conhecimento ou de uma
determinada ação.
2a Questão
O que é MELHOR para uma aplicação: acoplamento alto ou acoplamento fraco? Qual a afirmativa
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','8','','','315368641');
javascript:abre_frame('2','8','','','315368641');
javascript:abre_frame('3','8','','','315368641');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
está INCORRETA.
Um alto acoplamento traz inúmeros problemas para uma aplicação, entre as quais a
dificuldade de entendimento da solução proposta
Um alto acoplamento traz inúmeros problemas para uma aplicação, é consenso entre
profissionais da área que todo projeto orientado a objetos deve minimizar o acoplamento
entre os artefatos.
Um alto acoplamento traz inúmeros problemas para uma aplicação, entre as quais a
diminuição das chances de reutilização.
Um alto acoplamento traz inúmeros problemas para uma aplicação, é consenso entre
profissionais da área que todo projeto orientado a objetos deve aumentar o acoplamento
entre os artefatos.
Um alto acoplamento traz inúmeros problemas para uma aplicação, entre as quais
aumentar a complexidade da manutenção da aplicação.
Respondido em 16/04/2020 08:42:56
Explicação:
Este item está INCORRETO, porque um alto acoplamento traz inúmeros problemas para uma
aplicação, entre as quais a dificuldade de entendimento da solução proposta, a diminuição das
chances de reutilização, além de aumentar a complexidade da manutenção da aplicação. Portanto,
é consenso entre profissionais da área que todo projeto orientado a objetos deve minimizar o
acoplamento entre os artefatos.
3a Questão
Os 9 padrões definidos pela General Responsability Assignment Software Pattener são?
1.Singleton; 2.High Coesion; 3.Low Coupling; 4.Controller; 5.Polymorphis; 6.Information Expert; 7.Pure Fabrication;
8.Indirection; e 9.Variation.
1.Creator; 2.High Coesion; 3.Low Coupling; 4.Controller; 5.Polymorphis; 6.Information Expert; 7.Pure Fabrication;
8.Indirection; e 9.Facade.
1.Creator; 2.High Coesion; 3.Low Coupling; 4.Buider; 5.Bridge; 6.Information Expert; 7.Pure Fabrication; 8.Indirection; e
9.Variation.
1.Creator; 2.Decoretor; 3.FlyWeight; 4.Controller; 5.Polymorphis; 6.Information Expert; 7.Pure Fabrication; 8.Indirection;
e 9.Variation.
1.Creator; 2.High Coesion; 3.Low Coupling; 4.Controller; 5.Polymorphis; 6.Information Expert; 7.Pure Fabrication;
8.Indirection; e 9.Variation.
Respondido em 16/04/2020 08:42:58
4a Questão
qual das afirmativas abaixo não é verdadeira.
Dessa forma o padrão Acoplamento Baixo é utilizado para atribuir responsabilidades de modo que o acoplamento
permaneça baixo.
Um alto acoplamento aumenta a dificuldade de entendimento da solução proposta, a diminuição das chances de
reutilização, além de aumentar a complexidade da aplicação.
acoplamento é o grau de dependência entre dois artefatos. É uma medida de quão forte um elemento está conectado ou
tem conhecimento de, ou depende de outros elementos.
Um acoplamento definido para que classes que contenham métodos que possibilitem alterações de requisitos deve ser a
menor possível, desta forma se favorece futuras manutenções.
O ideal que dois artefatos tenham alta dependência. Isto garante um bom desempenho e facilita a manutenção dos
artefatos.
Respondido em 16/04/2020 08:42:59
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, Indireção e Variações Protegidas.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/4
Vamos entender o conceito de Acoplamento e Artefato. Acoplamento é o grau de dependência entre dois artefatos. Artefato
refere-se a qualquer elemento de umprojeto de software orientado a objetos, tais como classe, método, componente, pacote,
entre outros.
Essa afirmativa é verdadeira porque um alto acoplamento traz inúmeros problemas para uma aplicação, entre as quais a dificuldade
de entendimento da solução proposta, a diminuição das chances de reutilização, além de aumentar a complexidade da manutenção
da aplicação. Portanto, é consenso entre profissionais da área que todo projeto orientado a objetos deve minimizar o acoplamento
entre os artefatos.
O padrão Acoplamento Baixo é utilizado para atribuir responsabilidades de modo que o acoplamento permaneça baixo.
5a Questão
Os padrões GRASP são PRINCÍCPIOS, nos quais nós devemos nos basear, para o desenvolvimento.
O padrão Expert (Especialista da informação) é um dos padrões GRASP. Com relação a esse
padrão, assinale a informação INCORRETA.
No padrão especialista, as informações que uma classe necessita podem estar espalhadas
por toda aplicação, em diferentes classes;
No padrão especialista, a consequência relacionada com a utilização desse padrão é a
melhoria do encapsulamento;
O padrão especialista deve atribuir responsabilidade à classe que tem informações
suficientes para atender uma dada responsabilidade;
No padrão especialista, as informações disponíveis estão relacionadas ao estado do próprio
objeto;
O padrão especialista não está interessado no algoritmo de criação, mas sim em auxiliar o
programador a determinar qual classe dever ser responsável pela instanciação de um dado
objeto;
Respondido em 16/04/2020 08:42:49
Explicação:
Essa resposta está INCORRETA porque ela se refere ao padrão Criador.
6a Questão
No GRASP direcionar a ação para a classe que sabe resolvê-la é:
Creator
Controller
Indirection
Variation
Information Expert
Respondido em 16/04/2020 08:42:51
Explicação:
Alguns padrões da família GRASP: Expert, Creator, High Coesion, Low Coupling, Controller, ou
seja: Especialista; Criador; Baixo Acoplamento (Acoplamento Fraco).
No Expert (Especialista da informação), o que acontece é que o comportamento está
espalhado (estratificado) por toda árvore, em todo o gráfico de classe.
Especialista atribuir responsabilidade ao especialista da informação.
Especialista na informação é um princípio utilizado para determinar onde delegar
responsabilidades. Essas responsabilidades incluem métodos, campos computados, e assim em
diante.
Ele vai escolher os objetos especialistas para ele receber essas responsabilidades.
É o padrão mais usado para atribuir responsabilidades.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/4
Benefício: O comportamento fica distribuído entre as classes que têm a informação necessária
(classes ¿leves¿). Favorece alta coesão.
7a Questão
Os padrões GRASP são PRINCÍCPIOS, nos quais nós devemos nos basear, para o desenvolvimento.
A informação necessária para uma tarefa computacional frequentemente está ¿espalhada¿ por
vários objetos. Para o exemplo: determinar o total de uma venda requer a colaboração de 3
objetos, em 3 classes diferentes, qual o melhor padrão GRASP deve ser usado?
Criador;
Expert (Especialista da informação);
Coesão Alta;
Controlador;
Acoplamento fraco;
Respondido em 16/04/2020 08:42:53
Explicação:
Essa resposta está correta porque Expert (Especialista da informação), porque é o padrão
mais usado para atribuir responsabilidades. Há muitos experts parciais. Neste caso mensagens são
usadas para estabelecer as colaborações. Note que, com o uso do padrão Expert o
encapsulamento das classes é mantido.
8a Questão
Identifique o padrão GRASP utilizado no código abaixo: public class Aviao { public static Object pilotar() { } } public class Navio {
public static Object navegar() { } } public class Marujo { Navio.navegar(); }
Pure Fabrication
Indirection
High Coesion
Variation
Information Expert
Respondido em 16/04/2020 08:42:55
Explicação:
Padrões GRASP: Expert (Especialista), Creator (Criador), High Coesion, Low Coupling
(Baixo Acoplamento), Controller.
Expert (Especialista da informação) - O que acontece é que o comportamento está
espalhado (estratificado) por toda árvore, em todo o gráfico de classe.
Especialista na informação é um princípio utilizado para determinar onde delegar
responsabilidades. Essas responsabilidades incluem métodos, campos computados, e
assim em diante.
javascript:abre_colabore('38403','186820104','3724193134');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 8a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A8_201803107685_V2 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
Nos padrões GRASP (General Responsability Assigment Software Patterns), as
responsabilidades de um projeto podem ser divididas em ¿conhecer¿ e ¿fazer¿. Assinale o conceito
CORRETO.
As responsabilidades ¿conhecer¿ estão relacionadas com a distribuição do comportamento
do sistema entre as classes;
No fazer, vai demonstrar quem é que vai saber o estado;
As responsabilidades ¿fazer¿ estão relacionadas à distribuição das características do sistema
entre as classes;
No conhecer, eu delego quem é o responsável por saber o estado de uma determinada
classe;
No conhecer, eu delego a responsabilidade de quem é que vai ser responsável por criar;
Respondido em 16/04/2020 08:43:14
Explicação:
Esse conceito está CORRETO porque:
As responsabilidades ¿conhecer¿ estão relacionadas à distribuição das características do sistema
entre as classes.
As responsabilidades ¿fazer¿ estão relacionadas com a distribuição do comportamento do sistema
entre as classes.
No fazer, eu delego a responsabilidade de quem é que vai ser responsável por criar.
No conhecer, vai demonstrar quem é que vai saber o estado.
2a Questão
Uma classe com acoplamento forte depende muito de outras classes. Isso pode conduzir os seguintes problemas num sistema:
I. As classes são difíceis de aproveitar tendo em vista que sempre que uma classe for utilizada todas as outras das quais ela
depende devem estar presentes;
II. As alterações nas classes relacionadas podem forçar mudanças locais difíceis de compreender isoladamente.
III. Facilidade na compreensão nas mudanças das classes no sistema.
IV. Ao fazer alguma mudança numa classe também devem ser feitas mudanças nas outras que estão ligadas a esta classe.
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','8','','','315368641');
javascript:abre_frame('2','8','','','315368641');
javascript:abre_frame('3','8','','','315368641');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
Com base nestas informações assinale a alternativa CORRETA.
I, II, III
I, II, IV
I, III, IV
II, III, IV
Somente a III.
Respondido em 16/04/2020 08:43:05
3a Questão
Não é padrão GRASP?
Low Cohesion
Controller
Creator
Indirection
Polymorphism
Respondido em 16/04/2020 08:43:19
Explicação:
Temos os seguintes Padrões GRASP: Expert (Especialista), Creator (Criador), High Coesion,
Low Coupling (Baixo Acoplamento), Controller.
Padrões GRASP descrevem princípios fundamentais de atribuição de responsabilidade a objetos.
COESÃO - Coesão mede o quanto as responsabilidades de um elemento (classe, objeto,
subsistema,¿) são fortemente relacionadas.
4a Questão
Em relação a aplicação dos padrões GRASP, para o diagrama de classe da figura acima é correto afirmar que:
Padrão Criador: a Classe Obra tem a responsabilidade de criar instâncias da classe Obra. Padrão Especialista: a Classe
Obra tem a responsabilidadede saber quantas Etapas uma determinada Obra possui.
Padrão Criador: a Classe Engenheiro tem a responsabilidade de criar instâncias da classe Obra. Padrão Especialista: a
Classe Etapa tem a responsabilidade de saber quantas Etapas uma determinada Obra possui.
Padrão Criador: a Classe Engenheiro tem a responsabilidade de criar instâncias da classe Obra. Padrão Especialista: a
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/4
Classe Engenheiro tem a responsabilidade de saber quantas Etapas uma determinada Obra possui.
Padrão Criador: a Classe Engenheiro tem a responsabilidade de criar instâncias da classe Obra. Padrão Especialista: a
Classe Obra tem a responsabilidade de saber quantas Etapas uma determinada Obra possui.
Padrão Criador: a Classe Obra tem a responsabilidade de criar instâncias da classe Obra. Padrão Especialista: a Classe
Etapa tem a responsabilidade de saber quantas Etapas uma determinada Obra possui.
Respondido em 16/04/2020 08:43:21
5a Questão
Utilizando a nomenclatura dos padrões GRASP, o padrão Criador assume que tipo de
responsabilidade?
Assume a responsabilidade de julgar, pois sua funcionalidade está relacionada com a
resposta a seguinte pergunta: Quem deve criar um objeto A?
Assume a responsabilidade de conhecer, pois sua funcionalidade está relacionada com a
resposta a seguinte pergunta: Quem deve criar um objeto A?
Assume a responsabilidade de substituir, pois sua funcionalidade está relacionada com a
resposta a seguinte pergunta: Quem deve criar um objeto A?
Assume a responsabilidade de fazer, pois sua funcionalidade está relacionada com a
resposta a seguinte pergunta: Quem deve criar um objeto A?
Assume a responsabilidade de estimar, pois sua funcionalidade está relacionada com a
resposta a seguinte pergunta: Quem deve criar um objeto A?
Respondido em 16/04/2020 08:43:11
Explicação:
Essa afirmativa está correta porque, utilizando a nomenclatura dos padrões GRASP (Larman,
2007), o padrão Criador assume a responsabilidade de fazer, pois sua funcionalidade está
relacionado com a resposta a seguinte pergunta: Quem deve criar um objeto A? Grifa-se,
novamente, a palavra quem da pergunta anterior.
6a Questão
No GRASP direcionar a ação para a classe que sabe resolvê-la é:
Indirection
Information Expert
Controller
Variation
Creator
Respondido em 16/04/2020 08:43:25
Explicação:
Alguns padrões da família GRASP: Expert, Creator, High Coesion, Low Coupling, Controller, ou
seja: Especialista; Criador; Baixo Acoplamento (Acoplamento Fraco).
No Expert (Especialista da informação), o que acontece é que o comportamento está
espalhado (estratificado) por toda árvore, em todo o gráfico de classe.
Especialista atribuir responsabilidade ao especialista da informação.
Especialista na informação é um princípio utilizado para determinar onde delegar
responsabilidades. Essas responsabilidades incluem métodos, campos computados, e assim em
diante.
Ele vai escolher os objetos especialistas para ele receber essas responsabilidades.
É o padrão mais usado para atribuir responsabilidades.
Benefício: O comportamento fica distribuído entre as classes que têm a informação necessária
(classes ¿leves¿). Favorece alta coesão.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/4
7a Questão
Os padrões GRASP são PRINCÍCPIOS, nos quais nós devemos nos basear, para o desenvolvimento.
O padrão Expert (Especialista da informação) é um dos padrões GRASP. Com relação a esse
padrão, assinale a informação INCORRETA.
No padrão especialista, a consequência relacionada com a utilização desse padrão é a
melhoria do encapsulamento;
O padrão especialista deve atribuir responsabilidade à classe que tem informações
suficientes para atender uma dada responsabilidade;
O padrão especialista não está interessado no algoritmo de criação, mas sim em auxiliar o
programador a determinar qual classe dever ser responsável pela instanciação de um dado
objeto;
No padrão especialista, as informações que uma classe necessita podem estar espalhadas
por toda aplicação, em diferentes classes;
No padrão especialista, as informações disponíveis estão relacionadas ao estado do próprio
objeto;
Respondido em 16/04/2020 08:43:27
Explicação:
Essa resposta está INCORRETA porque ela se refere ao padrão Criador.
8a Questão
Identifique o padrão GRASP utilizado no código abaixo: public class Aviao { public static Object pilotar() { } } public class Navio {
public static Object navegar() { } } public class Marujo { Navio.navegar(); }
Variation
Indirection
Pure Fabrication
Information Expert
High Coesion
Respondido em 16/04/2020 08:43:18
Explicação:
Padrões GRASP: Expert (Especialista), Creator (Criador), High Coesion, Low Coupling
(Baixo Acoplamento), Controller.
Expert (Especialista da informação) - O que acontece é que o comportamento está
espalhado (estratificado) por toda árvore, em todo o gráfico de classe.
Especialista na informação é um princípio utilizado para determinar onde delegar
responsabilidades. Essas responsabilidades incluem métodos, campos computados, e
assim em diante.
javascript:abre_colabore('38403','186820136','3724193947');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 8a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A8_201803107685_V3 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
Os 9 padrões definidos pela General Responsability Assignment Software Pattener são?
1.Creator; 2.High Coesion; 3.Low Coupling; 4.Controller; 5.Polymorphis; 6.Information Expert; 7.Pure Fabrication;
8.Indirection; e 9.Facade.
1.Singleton; 2.High Coesion; 3.Low Coupling; 4.Controller; 5.Polymorphis; 6.Information Expert; 7.Pure Fabrication;
8.Indirection; e 9.Variation.
1.Creator; 2.High Coesion; 3.Low Coupling; 4.Controller; 5.Polymorphis; 6.Information Expert; 7.Pure Fabrication;
8.Indirection; e 9.Variation.
1.Creator; 2.Decoretor; 3.FlyWeight; 4.Controller; 5.Polymorphis; 6.Information Expert; 7.Pure Fabrication; 8.Indirection;
e 9.Variation.
1.Creator; 2.High Coesion; 3.Low Coupling; 4.Buider; 5.Bridge; 6.Information Expert; 7.Pure Fabrication; 8.Indirection; e
9.Variation.
Respondido em 16/04/2020 08:43:25
2a Questão
O que é MELHOR para uma aplicação: acoplamento alto ou acoplamento fraco? Qual a afirmativa
está INCORRETA.
Um alto acoplamento traz inúmeros problemas para uma aplicação, é consenso entre
profissionais da área que todo projeto orientado a objetos deve aumentar o acoplamento
entre os artefatos.
Um alto acoplamento traz inúmeros problemas para uma aplicação, é consenso entre
profissionais da área que todo projeto orientado a objetos deve minimizar o acoplamento
entre os artefatos.
Um alto acoplamento traz inúmeros problemas para uma aplicação, entre as quais
aumentar a complexidade da manutenção da aplicação.
Um alto acoplamento traz inúmeros problemas para uma aplicação, entre as quais a
dificuldade de entendimento da solução proposta
Um alto acoplamento traz inúmeros problemas para uma aplicação, entre as quais a
diminuição das chances de reutilização.
Respondido em 16/04/2020 08:43:27
Explicação:
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','8','','','315368641');
javascript:abre_frame('2','8','','','315368641');
javascript:abre_frame('3','8','','','315368641');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
Este item está INCORRETO, porque um alto acoplamento traz inúmerosproblemas para uma
aplicação, entre as quais a dificuldade de entendimento da solução proposta, a diminuição das
chances de reutilização, além de aumentar a complexidade da manutenção da aplicação. Portanto,
é consenso entre profissionais da área que todo projeto orientado a objetos deve minimizar o
acoplamento entre os artefatos.
3a Questão
Com relação aos padrões GRASP, assinale a opção correta:
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.
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.
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.
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.
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.
Respondido em 16/04/2020 08:43:41
Explicação:
Temos os seguintes Padrões GRASP: Expert (Especialista), Creator (Criador), High Coesion,
Low Coupling (Baixo Acoplamento), Controller.
Padrões GRASP descrevem princípios fundamentais de atribuição de responsabilidade a objetos.
Grupamento de padrões diferente, que tem propostas diferentes dos padrões GoF.
Os padrões GRASP são PRINCÍCPIOS, nos quais nós devemos nos basear, para desenvolvimento.
Os padrões GRASP se inter-relacionam se misturam e são aplicados nos padrões GoF.
Os padrões GRASP vão decidir quem é que vai assumir essa responsabilidade aqui.
O objetivo dele é identificar quem vai determinar quem vai ter a responsabilidade,
quem é que vai assumir a responsabilidade de um determinado conhecimento ou de uma
determinada ação.
4a Questão
qual das afirmativas abaixo não é verdadeira.
O ideal que dois artefatos tenham alta dependência. Isto garante um bom desempenho e facilita a manutenção dos
artefatos.
acoplamento é o grau de dependência entre dois artefatos. É uma medida de quão forte um elemento está conectado ou
tem conhecimento de, ou depende de outros elementos.
Um alto acoplamento aumenta a dificuldade de entendimento da solução proposta, a diminuição das chances de
reutilização, além de aumentar a complexidade da aplicação.
Um acoplamento definido para que classes que contenham métodos que possibilitem alterações de requisitos deve ser a
menor possível, desta forma se favorece futuras manutenções.
Dessa forma o padrão Acoplamento Baixo é utilizado para atribuir responsabilidades de modo que o acoplamento
permaneça baixo.
Respondido em 16/04/2020 08:43:31
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, Indireção e Variações Protegidas.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/4
Vamos entender o conceito de Acoplamento e Artefato. Acoplamento é o grau de dependência entre dois artefatos. Artefato
refere-se a qualquer elemento de um projeto de software orientado a objetos, tais como classe, método, componente, pacote,
entre outros.
Essa afirmativa é verdadeira porque um alto acoplamento traz inúmeros problemas para uma aplicação, entre as quais a dificuldade
de entendimento da solução proposta, a diminuição das chances de reutilização, além de aumentar a complexidade da manutenção
da aplicação. Portanto, é consenso entre profissionais da área que todo projeto orientado a objetos deve minimizar o acoplamento
entre os artefatos.
O padrão Acoplamento Baixo é utilizado para atribuir responsabilidades de modo que o acoplamento permaneça baixo.
5a Questão
Os padrões GRASP são PRINCÍCPIOS, nos quais nós devemos nos basear, para o desenvolvimento.
A informação necessária para uma tarefa computacional frequentemente está ¿espalhada¿ por
vários objetos. Para o exemplo: determinar o total de uma venda requer a colaboração de 3
objetos, em 3 classes diferentes, qual o melhor padrão GRASP deve ser usado?
Controlador;
Coesão Alta;
Expert (Especialista da informação);
Criador;
Acoplamento fraco;
Respondido em 16/04/2020 08:43:46
Explicação:
Essa resposta está correta porque Expert (Especialista da informação), porque é o padrão
mais usado para atribuir responsabilidades. Há muitos experts parciais. Neste caso mensagens são
usadas para estabelecer as colaborações. Note que, com o uso do padrão Expert o
encapsulamento das classes é mantido.
6a Questão
Identifique o padrão GRASP utilizado no código abaixo: public class Aviao { public static Object pilotar() { } } public class Navio {
public static Object navegar() { } } public class Marujo { Navio.navegar(); }
Pure Fabrication
High Coesion
Information Expert
Indirection
Variation
Respondido em 16/04/2020 08:43:48
Explicação:
Padrões GRASP: Expert (Especialista), Creator (Criador), High Coesion, Low Coupling
(Baixo Acoplamento), Controller.
Expert (Especialista da informação) - O que acontece é que o comportamento está
espalhado (estratificado) por toda árvore, em todo o gráfico de classe.
Especialista na informação é um princípio utilizado para determinar onde delegar
responsabilidades. Essas responsabilidades incluem métodos, campos computados, e
assim em diante.
7a Questão
Nos padrões GRASP (General Responsability Assigment Software Patterns), as
responsabilidades de um projeto podem ser divididas em ¿conhecer¿ e ¿fazer¿. Assinale o conceito
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/4
CORRETO.
No conhecer, eu delego quem é o responsável por saber o estado de uma determinada
classe;
No fazer, vai demonstrar quem é que vai saber o estado;
As responsabilidades ¿conhecer¿ estão relacionadas com a distribuição do comportamento
do sistema entre as classes;
No conhecer, eu delego a responsabilidade de quem é que vai ser responsável por criar;
As responsabilidades ¿fazer¿ estão relacionadas à distribuição das características do sistema
entre as classes;
Respondido em 16/04/2020 08:43:49
Explicação:
Esse conceito está CORRETO porque:
As responsabilidades ¿conhecer¿ estão relacionadas à distribuição das características do sistema
entre as classes.
As responsabilidades ¿fazer¿ estão relacionadas com a distribuição do comportamento do sistema
entre as classes.
No fazer, eu delego a responsabilidade de quem é que vai ser responsável por criar.
No conhecer, vai demonstrar quem é que vai saber o estado.
8a Questão
Utilizando a nomenclatura dos padrões GRASP, o padrão Criador assume que tipo de
responsabilidade?
Assume a responsabilidade de conhecer, pois sua funcionalidade está relacionada com a
resposta a seguinte pergunta: Quem deve criar um objeto A?
Assume a responsabilidade de estimar, pois sua funcionalidade está relacionada com a
resposta a seguinte pergunta: Quem deve criar um objeto A?
Assume a responsabilidade de fazer, pois sua funcionalidade está relacionada com a
resposta a seguinte pergunta: Quem deve criar umobjeto A?
Assume a responsabilidade de julgar, pois sua funcionalidade está relacionada com a
resposta a seguinte pergunta: Quem deve criar um objeto A?
Assume a responsabilidade de substituir, pois sua funcionalidade está relacionada com a
resposta a seguinte pergunta: Quem deve criar um objeto A?
Respondido em 16/04/2020 08:43:52
Explicação:
Essa afirmativa está correta porque, utilizando a nomenclatura dos padrões GRASP (Larman,
2007), o padrão Criador assume a responsabilidade de fazer, pois sua funcionalidade está
relacionado com a resposta a seguinte pergunta: Quem deve criar um objeto A? Grifa-se,
novamente, a palavra quem da pergunta anterior.
javascript:abre_colabore('38403','186820167','3724194857');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/5
PADRÕES DE PROJETO DE SOFTWARE 8a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A8_201803107685_V4 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
Uma classe com acoplamento forte depende muito de outras classes. Isso pode conduzir os seguintes problemas num sistema:
I. As classes são difíceis de aproveitar tendo em vista que sempre que uma classe for utilizada todas as outras das quais ela
depende devem estar presentes;
II. As alterações nas classes relacionadas podem forçar mudanças locais difíceis de compreender isoladamente.
III. Facilidade na compreensão nas mudanças das classes no sistema.
IV. Ao fazer alguma mudança numa classe também devem ser feitas mudanças nas outras que estão ligadas a esta classe.
Com base nestas informações assinale a alternativa CORRETA.
I, III, IV
I, II, IV
I, II, III
Somente a III.
II, III, IV
Respondido em 16/04/2020 08:43:52
2a Questão
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','8','','','315368641');
javascript:abre_frame('2','8','','','315368641');
javascript:abre_frame('3','8','','','315368641');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/5
Em relação a aplicação dos padrões GRASP, para o diagrama de classe da figura acima é correto afirmar que:
Padrão Criador: a Classe Obra tem a responsabilidade de criar instâncias da classe Obra. Padrão Especialista: a Classe
Obra tem a responsabilidade de saber quantas Etapas uma determinada Obra possui.
Padrão Criador: a Classe Obra tem a responsabilidade de criar instâncias da classe Obra. Padrão Especialista: a Classe
Etapa tem a responsabilidade de saber quantas Etapas uma determinada Obra possui.
Padrão Criador: a Classe Engenheiro tem a responsabilidade de criar instâncias da classe Obra. Padrão Especialista: a
Classe Engenheiro tem a responsabilidade de saber quantas Etapas uma determinada Obra possui.
Padrão Criador: a Classe Engenheiro tem a responsabilidade de criar instâncias da classe Obra. Padrão Especialista: a
Classe Obra tem a responsabilidade de saber quantas Etapas uma determinada Obra possui.
Padrão Criador: a Classe Engenheiro tem a responsabilidade de criar instâncias da classe Obra. Padrão Especialista: a
Classe Etapa tem a responsabilidade de saber quantas Etapas uma determinada Obra possui.
Respondido em 16/04/2020 08:44:06
3a Questão
No GRASP direcionar a ação para a classe que sabe resolvê-la é:
Indirection
Information Expert
Controller
Creator
Variation
Respondido em 16/04/2020 08:44:08
Explicação:
Alguns padrões da família GRASP: Expert, Creator, High Coesion, Low Coupling, Controller, ou
seja: Especialista; Criador; Baixo Acoplamento (Acoplamento Fraco).
No Expert (Especialista da informação), o que acontece é que o comportamento está
espalhado (estratificado) por toda árvore, em todo o gráfico de classe.
Especialista atribuir responsabilidade ao especialista da informação.
Especialista na informação é um princípio utilizado para determinar onde delegar
responsabilidades. Essas responsabilidades incluem métodos, campos computados, e assim em
diante.
Ele vai escolher os objetos especialistas para ele receber essas responsabilidades.
É o padrão mais usado para atribuir responsabilidades.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/5
Benefício: O comportamento fica distribuído entre as classes que têm a informação necessária
(classes ¿leves¿). Favorece alta coesão.
4a Questão
Não é padrão GRASP?
Creator
Polymorphism
Controller
Indirection
Low Cohesion
Respondido em 16/04/2020 08:44:10
Explicação:
Temos os seguintes Padrões GRASP: Expert (Especialista), Creator (Criador), High Coesion,
Low Coupling (Baixo Acoplamento), Controller.
Padrões GRASP descrevem princípios fundamentais de atribuição de responsabilidade a objetos.
COESÃO - Coesão mede o quanto as responsabilidades de um elemento (classe, objeto,
subsistema,¿) são fortemente relacionadas.
5a Questão
Os padrões GRASP são PRINCÍCPIOS, nos quais nós devemos nos basear, para o desenvolvimento.
O padrão Expert (Especialista da informação) é um dos padrões GRASP. Com relação a esse
padrão, assinale a informação INCORRETA.
No padrão especialista, a consequência relacionada com a utilização desse padrão é a
melhoria do encapsulamento;
O padrão especialista não está interessado no algoritmo de criação, mas sim em auxiliar o
programador a determinar qual classe dever ser responsável pela instanciação de um dado
objeto;
O padrão especialista deve atribuir responsabilidade à classe que tem informações
suficientes para atender uma dada responsabilidade;
No padrão especialista, as informações que uma classe necessita podem estar espalhadas
por toda aplicação, em diferentes classes;
No padrão especialista, as informações disponíveis estão relacionadas ao estado do próprio
objeto;
Respondido em 16/04/2020 08:44:00
Explicação:
Essa resposta está INCORRETA porque ela se refere ao padrão Criador.
6a Questão
Nos padrões GRASP (General Responsability Assigment Software Patterns), as
responsabilidades de um projeto podem ser divididas em ¿conhecer¿ e ¿fazer¿. Assinale o conceito
CORRETO.
No conhecer, eu delego a responsabilidade de quem é que vai ser responsável por criar;
As responsabilidades ¿conhecer¿ estão relacionadas com a distribuição do comportamento
do sistema entre as classes;
As responsabilidades ¿fazer¿ estão relacionadas à distribuição das características do sistema
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/5
entre as classes;
No conhecer, eu delego quem é o responsável por saber o estado de uma determinada
classe;
No fazer, vai demonstrar quem é que vai saber o estado;
Respondido em 16/04/2020 08:44:02
Explicação:
Esse conceito está CORRETO porque:
As responsabilidades ¿conhecer¿ estão relacionadas à distribuição das características do sistema
entre as classes.
As responsabilidades ¿fazer¿ estão relacionadas com a distribuição do comportamento do sistema
entre as classes.
No fazer, eu delego a responsabilidade de quem é que vai ser responsável por criar.
No conhecer, vai demonstrar quem é que vai saber o estado.
7a Questão
Os 9 padrões definidos pela General Responsability Assignment Software Pattener são?
1.Creator; 2.High Coesion; 3.Low Coupling; 4.Controller; 5.Polymorphis; 6.Information Expert; 7.Pure Fabrication;
8.Indirection; e 9.Variation.
1.Creator; 2.High Coesion; 3.Low Coupling; 4.Controller; 5.Polymorphis; 6.Information Expert; 7.Pure Fabrication;
8.Indirection; e 9.Facade.
1.Singleton; 2.High Coesion; 3.Low Coupling; 4.Controller; 5.Polymorphis; 6.Information Expert; 7.Pure Fabrication;
8.Indirection;e 9.Variation.
1.Creator; 2.High Coesion; 3.Low Coupling; 4.Buider; 5.Bridge; 6.Information Expert; 7.Pure Fabrication; 8.Indirection; e
9.Variation.
1.Creator; 2.Decoretor; 3.FlyWeight; 4.Controller; 5.Polymorphis; 6.Information Expert; 7.Pure Fabrication; 8.Indirection;
e 9.Variation.
Respondido em 16/04/2020 08:44:16
8a Questão
O que é MELHOR para uma aplicação: acoplamento alto ou acoplamento fraco? Qual a afirmativa
está INCORRETA.
Um alto acoplamento traz inúmeros problemas para uma aplicação, é consenso entre
profissionais da área que todo projeto orientado a objetos deve aumentar o acoplamento
entre os artefatos.
Um alto acoplamento traz inúmeros problemas para uma aplicação, é consenso entre
profissionais da área que todo projeto orientado a objetos deve minimizar o acoplamento
entre os artefatos.
Um alto acoplamento traz inúmeros problemas para uma aplicação, entre as quais
aumentar a complexidade da manutenção da aplicação.
Um alto acoplamento traz inúmeros problemas para uma aplicação, entre as quais a
dificuldade de entendimento da solução proposta
Um alto acoplamento traz inúmeros problemas para uma aplicação, entre as quais a
diminuição das chances de reutilização.
Respondido em 16/04/2020 08:44:18
Explicação:
Este item está INCORRETO, porque um alto acoplamento traz inúmeros problemas para uma
aplicação, entre as quais a dificuldade de entendimento da solução proposta, a diminuição das
chances de reutilização, além de aumentar a complexidade da manutenção da aplicação. Portanto,
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 5/5
é consenso entre profissionais da área que todo projeto orientado a objetos deve minimizar o
acoplamento entre os artefatos.
javascript:abre_colabore('38403','186820196','3724195771');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/5
PADRÕES DE PROJETO DE SOFTWARE 8a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A8_201803107685_V5 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
qual das afirmativas abaixo não é verdadeira.
Um acoplamento definido para que classes que contenham métodos que possibilitem alterações de requisitos deve ser a
menor possível, desta forma se favorece futuras manutenções.
Um alto acoplamento aumenta a dificuldade de entendimento da solução proposta, a diminuição das chances de
reutilização, além de aumentar a complexidade da aplicação.
acoplamento é o grau de dependência entre dois artefatos. É uma medida de quão forte um elemento está conectado ou
tem conhecimento de, ou depende de outros elementos.
O ideal que dois artefatos tenham alta dependência. Isto garante um bom desempenho e facilita a manutenção dos
artefatos.
Dessa forma o padrão Acoplamento Baixo é utilizado para atribuir responsabilidades de modo que o acoplamento
permaneça baixo.
Respondido em 16/04/2020 08:44:26
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, Indireção e Variações Protegidas.
Vamos entender o conceito de Acoplamento e Artefato. Acoplamento é o grau de dependência entre dois artefatos. Artefato
refere-se a qualquer elemento de um projeto de software orientado a objetos, tais como classe, método, componente, pacote,
entre outros.
Essa afirmativa é verdadeira porque um alto acoplamento traz inúmeros problemas para uma aplicação, entre as quais a dificuldade
de entendimento da solução proposta, a diminuição das chances de reutilização, além de aumentar a complexidade da manutenção
da aplicação. Portanto, é consenso entre profissionais da área que todo projeto orientado a objetos deve minimizar o acoplamento
entre os artefatos.
O padrão Acoplamento Baixo é utilizado para atribuir responsabilidades de modo que o acoplamento permaneça baixo.
2a Questão
Identifique o padrão GRASP utilizado no código abaixo: public class Aviao { public static Object pilotar() { } } public class Navio {
public static Object navegar() { } } public class Marujo { Navio.navegar(); }
Pure Fabrication
Information Expert
Indirection
Variation
High Coesion
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','8','','','315368641');
javascript:abre_frame('2','8','','','315368641');
javascript:abre_frame('3','8','','','315368641');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/5
Respondido em 16/04/2020 08:44:16
Explicação:
Padrões GRASP: Expert (Especialista), Creator (Criador), High Coesion, Low Coupling
(Baixo Acoplamento), Controller.
Expert (Especialista da informação) - O que acontece é que o comportamento está
espalhado (estratificado) por toda árvore, em todo o gráfico de classe.
Especialista na informação é um princípio utilizado para determinar onde delegar
responsabilidades. Essas responsabilidades incluem métodos, campos computados, e
assim em diante.
3a Questão
Com relação aos padrões GRASP, assinale a opção correta:
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.
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.
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.
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.
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.
Respondido em 16/04/2020 08:44:18
Explicação:
Temos os seguintes Padrões GRASP: Expert (Especialista), Creator (Criador), High Coesion,
Low Coupling (Baixo Acoplamento), Controller.
Padrões GRASP descrevem princípios fundamentais de atribuição de responsabilidade a objetos.
Grupamento de padrões diferente, que tem propostas diferentes dos padrões GoF.
Os padrões GRASP são PRINCÍCPIOS, nos quais nós devemos nos basear, para desenvolvimento.
Os padrões GRASP se inter-relacionam se misturam e são aplicados nos padrões GoF.
Os padrões GRASP vão decidir quem é que vai assumir essa responsabilidade aqui.
O objetivo dele é identificar quem vai determinar quem vai ter a responsabilidade,
quem é que vai assumir a responsabilidade de um determinado conhecimento ou de uma
determinada ação.
4a Questão
Os padrões GRASP são PRINCÍCPIOS, nos quais nós devemos nos basear, para o desenvolvimento.
A informação necessária para uma tarefa computacional frequentemente está ¿espalhada¿ por
vários objetos. Para o exemplo: determinar o total de uma venda requer a colaboração de 3
objetos, em 3 classes diferentes, qual o melhor padrão GRASP deve ser usado?
Criador;
Acoplamento fraco;
Expert (Especialista da informação);Controlador;
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/5
Coesão Alta;
Respondido em 16/04/2020 08:44:20
Explicação:
Essa resposta está correta porque Expert (Especialista da informação), porque é o padrão
mais usado para atribuir responsabilidades. Há muitos experts parciais. Neste caso mensagens são
usadas para estabelecer as colaborações. Note que, com o uso do padrão Expert o
encapsulamento das classes é mantido.
5a Questão
Utilizando a nomenclatura dos padrões GRASP, o padrão Criador assume que tipo de
responsabilidade?
Assume a responsabilidade de substituir, pois sua funcionalidade está relacionada com a
resposta a seguinte pergunta: Quem deve criar um objeto A?
Assume a responsabilidade de estimar, pois sua funcionalidade está relacionada com a
resposta a seguinte pergunta: Quem deve criar um objeto A?
Assume a responsabilidade de conhecer, pois sua funcionalidade está relacionada com a
resposta a seguinte pergunta: Quem deve criar um objeto A?
Assume a responsabilidade de fazer, pois sua funcionalidade está relacionada com a
resposta a seguinte pergunta: Quem deve criar um objeto A?
Assume a responsabilidade de julgar, pois sua funcionalidade está relacionada com a
resposta a seguinte pergunta: Quem deve criar um objeto A?
Respondido em 16/04/2020 08:44:34
Explicação:
Essa afirmativa está correta porque, utilizando a nomenclatura dos padrões GRASP (Larman,
2007), o padrão Criador assume a responsabilidade de fazer, pois sua funcionalidade está
relacionado com a resposta a seguinte pergunta: Quem deve criar um objeto A? Grifa-se,
novamente, a palavra quem da pergunta anterior.
6a Questão
Uma classe com acoplamento forte depende muito de outras classes. Isso pode conduzir os seguintes problemas num sistema:
I. As classes são difíceis de aproveitar tendo em vista que sempre que uma classe for utilizada todas as outras das quais ela
depende devem estar presentes;
II. As alterações nas classes relacionadas podem forçar mudanças locais difíceis de compreender isoladamente.
III. Facilidade na compreensão nas mudanças das classes no sistema.
IV. Ao fazer alguma mudança numa classe também devem ser feitas mudanças nas outras que estão ligadas a esta classe.
Com base nestas informações assinale a alternativa CORRETA.
Somente a III.
II, III, IV
I, II, IV
I, II, III
I, III, IV
Respondido em 16/04/2020 08:44:36
7a Questão
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/5
Em relação a aplicação dos padrões GRASP, para o diagrama de classe da figura acima é correto afirmar que:
Padrão Criador: a Classe Engenheiro tem a responsabilidade de criar instâncias da classe Obra. Padrão Especialista: a
Classe Etapa tem a responsabilidade de saber quantas Etapas uma determinada Obra possui.
Padrão Criador: a Classe Engenheiro tem a responsabilidade de criar instâncias da classe Obra. Padrão Especialista: a
Classe Engenheiro tem a responsabilidade de saber quantas Etapas uma determinada Obra possui.
Padrão Criador: a Classe Obra tem a responsabilidade de criar instâncias da classe Obra. Padrão Especialista: a Classe
Obra tem a responsabilidade de saber quantas Etapas uma determinada Obra possui.
Padrão Criador: a Classe Obra tem a responsabilidade de criar instâncias da classe Obra. Padrão Especialista: a Classe
Etapa tem a responsabilidade de saber quantas Etapas uma determinada Obra possui.
Padrão Criador: a Classe Engenheiro tem a responsabilidade de criar instâncias da classe Obra. Padrão Especialista: a
Classe Obra tem a responsabilidade de saber quantas Etapas uma determinada Obra possui.
Respondido em 16/04/2020 08:44:38
8a Questão
Os padrões GRASP são PRINCÍCPIOS, nos quais nós devemos nos basear, para o desenvolvimento.
O padrão Expert (Especialista da informação) é um dos padrões GRASP. Com relação a esse
padrão, assinale a informação INCORRETA.
O padrão especialista deve atribuir responsabilidade à classe que tem informações
suficientes para atender uma dada responsabilidade;
No padrão especialista, as informações disponíveis estão relacionadas ao estado do próprio
objeto;
No padrão especialista, a consequência relacionada com a utilização desse padrão é a
melhoria do encapsulamento;
O padrão especialista não está interessado no algoritmo de criação, mas sim em auxiliar o
programador a determinar qual classe dever ser responsável pela instanciação de um dado
objeto;
No padrão especialista, as informações que uma classe necessita podem estar espalhadas
por toda aplicação, em diferentes classes;
Respondido em 16/04/2020 08:44:39
Explicação:
Essa resposta está INCORRETA porque ela se refere ao padrão Criador.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 5/5
javascript:abre_colabore('38403','186820236','3724196682');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 9a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A9_201803107685_V1 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
No padrão GRASP (General Responsability Assigment Software Patterns), a utilização do
polimorfismo é recomendada para auxiliar a responder a duas perguntas. Uma delas é:
Como criar componentes de software interconectáveis?
Qual afirmativa abaixo se refere a essa pergunta?
I- Essa pergunta se refere à utilização de comandos condicionais (if-then-esle ou switch por
exemplo).
II- Essa pergunta se refere a, se surgir uma nova regra ou uma nova variação condicional, ela
exigirá a modificação dos comandos, tornando difícil alterar e estender o programa.
III- Essa pergunta se refere a relacionamentos do tipo cliente-servidor, não necessariamente
aplicações em rede, mas com funcionalidades semelhantes, procurando destacar a importância de
se projetar uma solução que permita alterar o servidor sem precisar modificar ou afetar a classe
cliente.
Est(á)ão correta(s) a(s) afirmativa(s):
Somente o item II;
Somente os itens II e III;
Somente os itens I e II;
Somente o item I;
Somente o item III;
Respondido em 16/04/2020 08:44:49
Explicação:
Os itens I e II estão INCORRETOS porque elas se referem a primeira pergunta do padrão
Polimorfismo, que é:
Como tratar alternativas com base no tipo?
2a Questão
(FCC - 2012) O componente Controller do MVC:
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','9','','','315368631');
javascript:abre_frame('2','9','','','315368631');
javascript:abre_frame('3','9','','','315368631');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
Define o comportamento da aplicação, as ações do usuário para atualizar os componentes de dados e seleciona os
componentes para exibir respostas de requisições.
Notifica os componentes de apresentação das mudanças efetuadas nos dados e expõe a funcionalidade da aplicação.
É onde são concentradas todas as regras de negócio da aplicação e o acesso aos dados.
Envia requisições do usuário para o controlador e recebe dados atualizados dos componentes de acesso a dados.
Responde às solicitações de queries e encapsula o estado da aplicação.
Respondido em 16/04/2020 08:44:52
Explicação:
Temos os seguintes Padrões GRASP: Expert (Especialista), Creator (Criador), High Coesion,
Low Coupling (Baixo Acoplamento), Controller.
Padrões GRASP descrevem princípios fundamentais de atribuição de responsabilidade a objetos.
Controller(Controlador) - Padrão bastante utilizado no MVC, no Servlet.
O padrão controlador atribui a responsabilidade de manipular eventos do sistema para uma classe
que não seja de interface do usuário (UI) que representa o cenário global ou cenário de caso de
uso. Um objeto controlador é um objeto de interface não-usuário, responsável por receber ou
manipular um evento do sistema.
Atribuir a responsabilidade do tratamento de um evento do sistema a uma classe que representa
uma das seguintes escolhas:
Representa o ¿sistema¿ todo (controlador fachada)
Representa um tratador oficial de todos os eventos de sistema de um caso de uso (controlador de
caso de uso).
3a Questão
O Paradigma Orientado a Objetos com os padrões de responsabilidades GRASP definem que a melhor técnica de programação POO
é:
Desenvolver as classes com a menor coesão e menor acoplamento possível.
Desenvolver as classes com a maior coesão e menor acoplamento possível.
Desenvolver as classes sem coesão e com acoplamento.
Desenvolver as classes com a maior coesão e maior acoplamento possível.
Desenvolver as classes com a menor coesão e maior acoplamento possível.
Respondido em 16/04/2020 08:44:54
4a Questão
Considere a figura abaixo
E escolha a opção correta sobre a gravura:
A Classe instanciada assinalada como :???? Deveria estar incorporada na classe emprestar para evitar criar uma serie de
novas classes. Isto facilita o projeto.
A Classe instanciada assinalada como :???? Não pode ser decomposta em outros controladores. Assim temos que trabalhar
com o tipo de coesão resultante (temporal, funcional...)
A classe instanciada assinalada como :???? Permite desacoplar as classes e métodos de apresentação. E isto aumenta a
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/4
reutilização das classes de negocio.
A Classe instanciada assinala como :???? É de baixo acoplamento e baixa coesão pela natureza de sua criação.
uma classe de controle exige que sempre se tem há uma classe de apresentação. Desta forma não podemos ter mais de
uma classe de controle por sistema
Respondido em 16/04/2020 08:44:55
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, Indireção e Variações Protegidas.
Essa afirmativa é a correta porque em uma Coesão Alta as classes com estes tipos de coesão são mais fáceis de implementar,
testar e manter. No entanto, outros tipos de coesão podem aparecer, tais como, seqüencial, procedural, temporal e utilidade, as
quais, segundo Pressman (2006), são menos desejáveis e devem ser evitados quando existirem alternativas de projeto.
Ainda segundo Larman (2007), uma classe com coesão baixa faz muitas atividades que não estão relacionadas e trabalha em
demasia, acarretando os seguintes problemas: dificuldade de compreensão e manutenção, dificuldade de reutilização, além de
apresentar bastante sensibilidade a modificações.
Um controlador é 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. De forma mais simples, este é um padrão de projeto de delegação, pois, normalmente um
controlador deve delegar a outros objetos o serviço que precisa ser feito; ele coordena ou controla a atividade.
5a Questão
O General Responsability Assignment Software Pattener que define a responsabilidade: Tudo que diz respeito a classe deve ser
escrita nela é?
Controller
Creator
Low Coupling
Polymorphis
High Coesion
Respondido em 16/04/2020 08:44:57
Explicação:
A Coesão é um padrão GRASP que pode ser baixa ou alta. A Coesão mede o quanto as responsabilidades de
um elemento (classe, objeto, subsistema,¿) são fortemente relacionadas.
O Objeto com Coesão Alta é um objeto cujas responsabilidades são altamente relacionadas e que não
executa um volume muito grande de trabalho.
A ideia consiste em que, é desejável, que eu tenha uma aplicação de baixo acoplamento e alta coesão.
6a Questão
Um padrão controlador é 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, Este é um padrão de projeto de delegação, pois, normalmente um controlador deve
delegar a outros objetos o serviço que precisa ser feito. Dentre os conceitos abaixo, assinale aquele que complementa o objtivo
deste padrão.
ele coordena ou controla as classes;
ele controla ou coordena os métodos;
ele coordena ou controla a recursividade;
ele coordena ou controla a atividade;
ele coordena ou controla as generalizações;
Respondido em 16/04/2020 08:44:59
Gabarito
Coment.
7a Questão
Qual padrão GRASP tem como um de seus objetivos minimizar o impacto na camada de negócio referente às alterações nos
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/4
requisitos da interface com o usuário?
Alta Coesão
Especialista da Informação
Controlador
Mediador
Indireção
Respondido em 16/04/2020 08:45:01
8a Questão
O tipo tipos de coesão caracterizada quando um módulo executa um e somente um cálculo, e então retorna o resultado é chamada
de:
Paralela;
Recursiva.
Comucacional
Funcional;
Em Camada;
Respondido em 16/04/2020 08:45:03
javascript:abre_colabore('38403','186820265','3724197302');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/5
PADRÕES DE PROJETO DE SOFTWARE 9a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A9_201803107685_V2 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
Qual padrão GRASP é um padrão de projeto de delegação, o qual deve delegar a outros objetos o
serviço que precisa ser feito?
Invenção pura;
Controlador;
Coesão Alta;
Criador;
Variações protegidas;
Respondido em 16/04/2020 08:45:11
Explicação:
Essa resposta está correta, porque para Larman (2007) um controlador é 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. De forma mais simples, este é um padrão de projeto de delegação, pois,
normalmente um controlador deve delegar a outros objetos o serviço que precisa ser feito; ele
coordena ou controla a atividade.
2a Questão
No padrão GRASP (General Responsability Assigment Software Patterns), a utilização do
polimorfismo é recomendada para auxiliar a responder a duas perguntas. Uma delas é:
Como tratar alternativas com base no tipo?
Qual afirmativa abaixo se refere a primeira pergunta?
I- Essa pergunta se refere à utilização de comandos condicionais (if-then-esle ou switch por
exemplo).
II- Essa pergunta se refere a, se surgir uma nova regra ou uma nova variação condicional, ela
exigirá a modificação dos comandos, tornando difícil alterar e estender o programa.
III- Essa pergunta se refere a relacionamentos do tipo cliente-servidor, não necessariamente
aplicações em rede, mas com funcionalidades semelhantes, procurando destacar a importância de
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','9','','','315368631');
javascript:abre_frame('2','9','','','315368631');
javascript:abre_frame('3','9','','','315368631');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/5
se projetar uma solução que permita alterar o servidor sem precisar modificar ou afetar a classe
cliente.
Est(á)ão correta(s) a(s) afirmativa(s):
Somente o item I;
Somente ositens II e III;
Somente o item II;
Somente os itens I e II;
Somente o item III;
Respondido em 16/04/2020 08:45:14
Explicação:
O item III está INCORRETO porque ela se refere a segunda pergunta do padrão Polimorfismo, que
é:
Como criar componentes de software interconectáveis?
3a Questão
Com relação aos padrões GRASP, Pressman (2006) explica que a coesão 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.
Relacione os tipos de coesão com a sua real definição:
1- Ocorre quando um módulo executa um e somente um cálculo, e então retorna o resultado.
2- Todas as operações que tem acesso aos mesmos dados são definidas dentro de uma classe.
3- Ocorre quando uma camada de mais alto nível tem acesso a serviços de camadas mais baixas,
mas camadas mais baixas, não tem acesso a camadas mais altas.
1- FUNCIONAL, 2- EM CAMADA, 3- COMUCACIONAL.
1- EM CAMADA, 2- FUNCIONAL, 3- COMUCACIONAL.
1- FUNCIONAL, 2- COMUCACIONAL, 3- EM CAMADA.
1- COMUCACIONAL, 2- EM CAMADA, 3- FUNCIONAL.
1- COMUCACIONAL, 2- FUNCIONAL, 3- EM CAMADA.
Respondido em 16/04/2020 08:45:16
Explicação:
Essa resposta está CORRETA, porque corresponde exatamente a cada uma das definições dos
tipos de Coesão determinada por Presman.
4a Questão
sobre o Polimorfismo considere a figura abaixo e selecione a reposta totalmente correta:
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/5
Define-se um método abstrato, em uma classe abstrata. Cada classe que herda a classe abstrata implementa o método
físico. Dependendo da classe instanciada é executado o método correpondente. Isto é polimorfismo.
Define-se vários métodos. Cada método deve ter uma estrutura IF...THEN...para cada situação. Isto é polimorfismo.
Define-se um método físico na classe PAI. Os métodos nas classes filho são definidos. Neste caso cada método é
sobreposto. No caso de uma nova classe filho há necessidade obrigatória devido a estrutura PAI de se definir o método na
nova classe. Isto é polimorfismo.
Define-se uma estrutura de herança. Automaticamente fica definido uma estrutura de métodos. Isto é polimorfismo
Define-se um método na classe PAI. Este método é copiado nas classes que herdam a classe PAI. Isto é polimorfismo.
Respondido em 16/04/2020 08:45:18
Explicação:
Ideia do Polimorfismo: através de uma interface única, eu possa encapsular vários comportamentos.
O Polimorfismo indica a capacidade de abstrair várias implementações diferentes em uma única interface.
Existem dois grandes grupos de Polimorfismo. Um deles é sobecrever um método, ou seja, subscrever métodos com a mesma
assinatura.
Criaria uma classe ou interface superior, definiria por dentro o método, a classe que herda teria que ter a mesma assinatura, e a
partir daí reescrever (overwrite) esse comportamento.
O outro não é baseado na assinatura, mais sim na chamada, pelo número de parâmetros, ele poderia escolher. EX. usar em
consultor, onde temos um construtor com um construtor com um parâmetro dois, três, diferenciados pela quantidade e/ou tipo de
parâmetro, estudado em aulas de programação e linguagem.
5a Questão
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?
Invenção Pura;
Especialista da Informação;
Criador;
High Cohesion (Coesão alta);
Indireção;
Respondido em 16/04/2020 08:45:20
Explicação:
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/5
Essa resposta está CORRETA, porque a ideia deste padrão consiste em que, é desejável, que eu
tenha uma aplicação de baixo acoplamento e alta coesão. Acoplamento fraco e alta coesão.
A coesão 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.
Além disso, esse padrão também serva para os seguintes problemas: as classes são difíceis de
manter, e as classes são frágeis, sendo afetadas por praticamente todas as modificações.
6a Questão
São causas comuns de refactoring, exceto:
Dependência em operações específicas
Dependências de algoritmo
Forte acoplamento
Forte coesão
Criação de objetos especificando diretamente uma classe concreta
Respondido em 16/04/2020 08:45:10
7a Questão
O General Responsability Assignment Software Pattener que define a responsabilidade: Comportamentos com o mesmo nome mas
que fazem operações deferentes. Trata-se de?
High Coesion
Polymorphis
Pure Fabrication
Information Expert
Indirection
Respondido em 16/04/2020 08:45:24
Explicação:
Polymorphism (Polimorfismo) - através de uma interface única, eu possa encapsular
vários comportamentos.
De acordo com o princípio do polimorfismo, a responsabilidade de definir a variação dos comportamentos
com base no tipo é atribuída ao tipo para o qual essa variação ocorre. Isto é conseguido utilizando operações
polimórficas.
8a Questão
Com relação à arquitetura MVC, considere: I. O MODEL representa os dados da empresa e as regras de negócio que governam o
acesso e atualização destes dados. II. O VIEW acessa os dados da empresa através do MODEL e especifica como esses dados
devem ser apresentados. É de responsabilidade do VIEW manter a consistência em sua apresentação, quando o MODEL é alterado.
III. O CONTROLLER traduz as interações do VIEW em ações a serem executadas pelo MODEL. Com base na interação do usuário e
no resultado das ações do MODEL, o CONTROLLER responde selecionando uma VIEW adequada. IV. Permite uma única VIEW para
compartilhar o mesmo modelo de dados corporativos em um fluxo de comunicação sequencial. Está correto o que se afirma em
I, II e III, apenas.
I, II, III e IV.
I e II, apenas.
II, III e IV, apenas.
II e III, apenas.
Respondido em 16/04/2020 08:45:26
Explicação:
A afirmativa IV é incorreta porque o padrão de arquitetura MVC (Model-View-Controller) é uma
combinação de padrões centrada no padrão Observer e consiste de três participantes:
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 5/5
Model: representa os dados da aplicação e regras de negócio associadas com os dados. Notifica o
View sobre alterações.
View: é um Observer para o Model. Notifica o Controller sobre eventos iniciados pelo usuário e lê
dados do Model.
Controller: é um Observer para o View. Encapsula lógica de controle que afeta o Model e seleciona
View.
O MVC é utilizado em muitos projetos devido à arquitetura que possui, o que possibilita a divisão
do projeto em camadas muito bem definidas. Cada uma delas, o Model, o Controller e a View,
executa o que lhe é definido e nada mais do que isso.
A utilização do padrão MVC trás como benefício isolar as regras de negócios da lógica de
apresentação, a interface com o usuário. Isto possibilita a existência de várias interfaces com o
usuário que podem ser modificadas sem que haja a necessidade da alteração das regras de
negócios, proporcionando assim muito mais flexibilidade e oportunidades de reuso das classes.
javascript:abre_colabore('38403','186820297','3724198019');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 9a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A9_201803107685_V3 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
O Paradigma Orientado a Objetos com os padrões de responsabilidades GRASP definem que a melhor técnica de programação POOé:
Desenvolver as classes com a maior coesão e menor acoplamento possível.
Desenvolver as classes com a menor coesão e maior acoplamento possível.
Desenvolver as classes com a menor coesão e menor acoplamento possível.
Desenvolver as classes sem coesão e com acoplamento.
Desenvolver as classes com a maior coesão e maior acoplamento possível.
Respondido em 16/04/2020 08:45:33
2a Questão
Considere a figura abaixo
E escolha a opção correta sobre a gravura:
uma classe de controle exige que sempre se tem há uma classe de apresentação. Desta forma não podemos ter mais de
uma classe de controle por sistema
A classe instanciada assinalada como :???? Permite desacoplar as classes e métodos de apresentação. E isto aumenta a
reutilização das classes de negocio.
A Classe instanciada assinalada como :???? Não pode ser decomposta em outros controladores. Assim temos que trabalhar
com o tipo de coesão resultante (temporal, funcional...)
A Classe instanciada assinalada como :???? Deveria estar incorporada na classe emprestar para evitar criar uma serie de
novas classes. Isto facilita o projeto.
A Classe instanciada assinala como :???? É de baixo acoplamento e baixa coesão pela natureza de sua criação.
Respondido em 16/04/2020 08:45:24
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','9','','','315368631');
javascript:abre_frame('2','9','','','315368631');
javascript:abre_frame('3','9','','','315368631');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
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, Indireção e Variações Protegidas.
Essa afirmativa é a correta porque em uma Coesão Alta as classes com estes tipos de coesão são mais fáceis de implementar,
testar e manter. No entanto, outros tipos de coesão podem aparecer, tais como, seqüencial, procedural, temporal e utilidade, as
quais, segundo Pressman (2006), são menos desejáveis e devem ser evitados quando existirem alternativas de projeto.
Ainda segundo Larman (2007), uma classe com coesão baixa faz muitas atividades que não estão relacionadas e trabalha em
demasia, acarretando os seguintes problemas: dificuldade de compreensão e manutenção, dificuldade de reutilização, além de
apresentar bastante sensibilidade a modificações.
Um controlador é 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. De forma mais simples, este é um padrão de projeto de delegação, pois, normalmente um
controlador deve delegar a outros objetos o serviço que precisa ser feito; ele coordena ou controla a atividade.
3a Questão
No padrão GRASP (General Responsability Assigment Software Patterns), a utilização do
polimorfismo é recomendada para auxiliar a responder a duas perguntas. Uma delas é:
Como criar componentes de software interconectáveis?
Qual afirmativa abaixo se refere a essa pergunta?
I- Essa pergunta se refere à utilização de comandos condicionais (if-then-esle ou switch por
exemplo).
II- Essa pergunta se refere a, se surgir uma nova regra ou uma nova variação condicional, ela
exigirá a modificação dos comandos, tornando difícil alterar e estender o programa.
III- Essa pergunta se refere a relacionamentos do tipo cliente-servidor, não necessariamente
aplicações em rede, mas com funcionalidades semelhantes, procurando destacar a importância de
se projetar uma solução que permita alterar o servidor sem precisar modificar ou afetar a classe
cliente.
Est(á)ão correta(s) a(s) afirmativa(s):
Somente o item III;
Somente os itens II e III;
Somente o item I;
Somente os itens I e II;
Somente o item II;
Respondido em 16/04/2020 08:45:26
Explicação:
Os itens I e II estão INCORRETOS porque elas se referem a primeira pergunta do padrão
Polimorfismo, que é:
Como tratar alternativas com base no tipo?
4a Questão
O General Responsability Assignment Software Pattener que define a responsabilidade: Tudo que diz respeito a classe deve ser
escrita nela é?
High Coesion
Creator
Polymorphis
Controller
Low Coupling
Respondido em 16/04/2020 08:45:40
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/4
Explicação:
A Coesão é um padrão GRASP que pode ser baixa ou alta. A Coesão mede o quanto as responsabilidades de
um elemento (classe, objeto, subsistema,¿) são fortemente relacionadas.
O Objeto com Coesão Alta é um objeto cujas responsabilidades são altamente relacionadas e que não
executa um volume muito grande de trabalho.
A ideia consiste em que, é desejável, que eu tenha uma aplicação de baixo acoplamento e alta coesão.
5a Questão
(FCC - 2012) O componente Controller do MVC:
Responde às solicitações de queries e encapsula o estado da aplicação.
Notifica os componentes de apresentação das mudanças efetuadas nos dados e expõe a funcionalidade da aplicação.
É onde são concentradas todas as regras de negócio da aplicação e o acesso aos dados.
Define o comportamento da aplicação, as ações do usuário para atualizar os componentes de dados e seleciona os
componentes para exibir respostas de requisições.
Envia requisições do usuário para o controlador e recebe dados atualizados dos componentes de acesso a dados.
Respondido em 16/04/2020 08:45:30
Explicação:
Temos os seguintes Padrões GRASP: Expert (Especialista), Creator (Criador), High Coesion,
Low Coupling (Baixo Acoplamento), Controller.
Padrões GRASP descrevem princípios fundamentais de atribuição de responsabilidade a objetos.
Controller (Controlador) - Padrão bastante utilizado no MVC, no Servlet.
O padrão controlador atribui a responsabilidade de manipular eventos do sistema para uma classe
que não seja de interface do usuário (UI) que representa o cenário global ou cenário de caso de
uso. Um objeto controlador é um objeto de interface não-usuário, responsável por receber ou
manipular um evento do sistema.
Atribuir a responsabilidade do tratamento de um evento do sistema a uma classe que representa
uma das seguintes escolhas:
Representa o ¿sistema¿ todo (controlador fachada)
Representa um tratador oficial de todos os eventos de sistema de um caso de uso (controlador de
caso de uso).
6a Questão
Um padrão controlador é 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, Este é um padrão de projeto de delegação, pois, normalmente um controlador deve
delegar a outros objetos o serviço que precisa ser feito. Dentre os conceitos abaixo, assinale aquele que complementa o objtivo
deste padrão.
ele coordena ou controla a recursividade;
ele coordena ou controla as generalizações;
ele controla ou coordena os métodos;
ele coordena ou controla a atividade;
ele coordena ou controla as classes;
Respondido em 16/04/2020 08:45:32
Gabarito
Coment.
7a Questão
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/4
Qual padrão GRASP tem como um de seus objetivos minimizar o impacto na camada de negócio referente às alterações nos
requisitos da interface com o usuário?
Especialista da Informação
Indireção
Controlador
Mediador
Alta Coesão
Respondido em 16/04/2020 08:45:46
8a Questão
O tipo tipos de coesão caracterizada quando um módulo executa um e somente um cálculo, e então retorna o resultado é chamada
de:
Recursiva.
Em Camada;
Comucacional
Funcional;
Paralela;
Respondido em 16/04/2020 08:45:48
javascript:abre_colabore('38403','186820318','3724198430');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0…1/5
PADRÕES DE PROJETO DE SOFTWARE 9a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A9_201803107685_V4 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
Qual padrão GRASP é um padrão de projeto de delegação, o qual deve delegar a outros objetos o
serviço que precisa ser feito?
Variações protegidas;
Invenção pura;
Criador;
Controlador;
Coesão Alta;
Respondido em 16/04/2020 08:45:56
Explicação:
Essa resposta está correta, porque para Larman (2007) um controlador é 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. De forma mais simples, este é um padrão de projeto de delegação, pois,
normalmente um controlador deve delegar a outros objetos o serviço que precisa ser feito; ele
coordena ou controla a atividade.
2a Questão
São causas comuns de refactoring, exceto:
Forte acoplamento
Dependência em operações específicas
Dependências de algoritmo
Forte coesão
Criação de objetos especificando diretamente uma classe concreta
Respondido em 16/04/2020 08:45:58
3a Questão
No padrão GRASP (General Responsability Assigment Software Patterns), a utilização do
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','9','','','315368631');
javascript:abre_frame('2','9','','','315368631');
javascript:abre_frame('3','9','','','315368631');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/5
polimorfismo é recomendada para auxiliar a responder a duas perguntas. Uma delas é:
Como tratar alternativas com base no tipo?
Qual afirmativa abaixo se refere a primeira pergunta?
I- Essa pergunta se refere à utilização de comandos condicionais (if-then-esle ou switch por
exemplo).
II- Essa pergunta se refere a, se surgir uma nova regra ou uma nova variação condicional, ela
exigirá a modificação dos comandos, tornando difícil alterar e estender o programa.
III- Essa pergunta se refere a relacionamentos do tipo cliente-servidor, não necessariamente
aplicações em rede, mas com funcionalidades semelhantes, procurando destacar a importância de
se projetar uma solução que permita alterar o servidor sem precisar modificar ou afetar a classe
cliente.
Est(á)ão correta(s) a(s) afirmativa(s):
Somente o item II;
Somente o item I;
Somente os itens I e II;
Somente o item III;
Somente os itens II e III;
Respondido em 16/04/2020 08:46:00
Explicação:
O item III está INCORRETO porque ela se refere a segunda pergunta do padrão Polimorfismo, que
é:
Como criar componentes de software interconectáveis?
4a Questão
O General Responsability Assignment Software Pattener que define a responsabilidade: Comportamentos com o mesmo nome mas
que fazem operações deferentes. Trata-se de?
High Coesion
Pure Fabrication
Indirection
Polymorphis
Information Expert
Respondido em 16/04/2020 08:46:02
Explicação:
Polymorphism (Polimorfismo) - através de uma interface única, eu possa encapsular
vários comportamentos.
De acordo com o princípio do polimorfismo, a responsabilidade de definir a variação dos comportamentos
com base no tipo é atribuída ao tipo para o qual essa variação ocorre. Isto é conseguido utilizando operações
polimórficas.
5a Questão
Com relação aos padrões GRASP, Pressman (2006) explica que a coesão 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.
Relacione os tipos de coesão com a sua real definição:
1- Ocorre quando um módulo executa um e somente um cálculo, e então retorna o resultado.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/5
2- Todas as operações que tem acesso aos mesmos dados são definidas dentro de uma classe.
3- Ocorre quando uma camada de mais alto nível tem acesso a serviços de camadas mais baixas,
mas camadas mais baixas, não tem acesso a camadas mais altas.
1- EM CAMADA, 2- FUNCIONAL, 3- COMUCACIONAL.
1- FUNCIONAL, 2- COMUCACIONAL, 3- EM CAMADA.
1- FUNCIONAL, 2- EM CAMADA, 3- COMUCACIONAL.
1- COMUCACIONAL, 2- EM CAMADA, 3- FUNCIONAL.
1- COMUCACIONAL, 2- FUNCIONAL, 3- EM CAMADA.
Respondido em 16/04/2020 08:46:04
Explicação:
Essa resposta está CORRETA, porque corresponde exatamente a cada uma das definições dos
tipos de Coesão determinada por Presman.
6a Questão
Com relação à arquitetura MVC, considere: I. O MODEL representa os dados da empresa e as regras de negócio que governam o
acesso e atualização destes dados. II. O VIEW acessa os dados da empresa através do MODEL e especifica como esses dados
devem ser apresentados. É de responsabilidade do VIEW manter a consistência em sua apresentação, quando o MODEL é alterado.
III. O CONTROLLER traduz as interações do VIEW em ações a serem executadas pelo MODEL. Com base na interação do usuário e
no resultado das ações do MODEL, o CONTROLLER responde selecionando uma VIEW adequada. IV. Permite uma única VIEW para
compartilhar o mesmo modelo de dados corporativos em um fluxo de comunicação sequencial. Está correto o que se afirma em
II e III, apenas.
I e II, apenas.
I, II e III, apenas.
II, III e IV, apenas.
I, II, III e IV.
Respondido em 16/04/2020 08:46:06
Explicação:
A afirmativa IV é incorreta porque o padrão de arquitetura MVC (Model-View-Controller) é uma
combinação de padrões centrada no padrão Observer e consiste de três participantes:
Model: representa os dados da aplicação e regras de negócio associadas com os dados. Notifica o
View sobre alterações.
View: é um Observer para o Model. Notifica o Controller sobre eventos iniciados pelo usuário e lê
dados do Model.
Controller: é um Observer para o View. Encapsula lógica de controle que afeta o Model e seleciona
View.
O MVC é utilizado em muitos projetos devido à arquitetura que possui, o que possibilita a divisão
do projeto em camadas muito bem definidas. Cada uma delas, o Model, o Controller e a View,
executa o que lhe é definido e nada mais do que isso.
A utilização do padrão MVC trás como benefício isolar as regras de negócios da lógica de
apresentação, a interface com o usuário. Isto possibilita a existência de várias interfaces com o
usuário que podem ser modificadas sem que haja a necessidade da alteração das regras de
negócios, proporcionando assim muito mais flexibilidade e oportunidades de reuso das classes.
7a Questão
sobre o Polimorfismo considere a figura abaixo e selecione a reposta totalmente correta:
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/5
Define-se um método físico na classe PAI. Os métodos nas classes filho são definidos. Neste caso cada método é
sobreposto. No caso de uma nova classe filho há necessidade obrigatória devido a estrutura PAI de se definir o método na
nova classe. Isto é polimorfismo.
Define-se uma estrutura de herança. Automaticamente fica definido uma estrutura de métodos. Isto é polimorfismo
Define-se vários métodos. Cada método deve ter uma estrutura IF...THEN...para cada situação. Isto é polimorfismo.
Define-se um método abstrato, em uma classe abstrata. Cada classe que herda a classe abstrata implementa o método
físico. Dependendo da classe instanciada é executado o método correpondente. Isto é polimorfismo.
Define-se um método na classe PAI. Este método é copiado nas classes que herdam a classe PAI. Isto é polimorfismo.
Respondido em 16/04/2020 08:46:09
Explicação:
Ideia do Polimorfismo: através de uma interface única, eu possa encapsular vários comportamentos.
O Polimorfismo indica a capacidade de abstrair várias implementações diferentes em uma únicainterface.
Existem dois grandes grupos de Polimorfismo. Um deles é sobecrever um método, ou seja, subscrever métodos com a mesma
assinatura.
Criaria uma classe ou interface superior, definiria por dentro o método, a classe que herda teria que ter a mesma assinatura, e a
partir daí reescrever (overwrite) esse comportamento.
O outro não é baseado na assinatura, mais sim na chamada, pelo número de parâmetros, ele poderia escolher. EX. usar em
consultor, onde temos um construtor com um construtor com um parâmetro dois, três, diferenciados pela quantidade e/ou tipo de
parâmetro, estudado em aulas de programação e linguagem.
8a Questão
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?
Especialista da Informação;
Criador;
Indireção;
Invenção Pura;
High Cohesion (Coesão alta);
Respondido em 16/04/2020 08:46:11
Explicação:
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 5/5
Essa resposta está CORRETA, porque a ideia deste padrão consiste em que, é desejável, que eu
tenha uma aplicação de baixo acoplamento e alta coesão. Acoplamento fraco e alta coesão.
A coesão 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.
Além disso, esse padrão também serva para os seguintes problemas: as classes são difíceis de
manter, e as classes são frágeis, sendo afetadas por praticamente todas as modificações.
javascript:abre_colabore('38403','186820355','3724198849');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 9a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A9_201803107685_V5 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
O Paradigma Orientado a Objetos com os padrões de responsabilidades GRASP definem que a melhor técnica de programação POO
é:
Desenvolver as classes sem coesão e com acoplamento.
Desenvolver as classes com a menor coesão e maior acoplamento possível.
Desenvolver as classes com a menor coesão e menor acoplamento possível.
Desenvolver as classes com a maior coesão e menor acoplamento possível.
Desenvolver as classes com a maior coesão e maior acoplamento possível.
Respondido em 16/04/2020 08:46:22
2a Questão
Considere a figura abaixo
E escolha a opção correta sobre a gravura:
A Classe instanciada assinalada como :???? Não pode ser decomposta em outros controladores. Assim temos que trabalhar
com o tipo de coesão resultante (temporal, funcional...)
uma classe de controle exige que sempre se tem há uma classe de apresentação. Desta forma não podemos ter mais de
uma classe de controle por sistema
A Classe instanciada assinala como :???? É de baixo acoplamento e baixa coesão pela natureza de sua criação.
A Classe instanciada assinalada como :???? Deveria estar incorporada na classe emprestar para evitar criar uma serie de
novas classes. Isto facilita o projeto.
A classe instanciada assinalada como :???? Permite desacoplar as classes e métodos de apresentação. E isto aumenta a
reutilização das classes de negocio.
Respondido em 16/04/2020 08:46:24
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','9','','','315368631');
javascript:abre_frame('2','9','','','315368631');
javascript:abre_frame('3','9','','','315368631');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
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, Indireção e Variações Protegidas.
Essa afirmativa é a correta porque em uma Coesão Alta as classes com estes tipos de coesão são mais fáceis de implementar,
testar e manter. No entanto, outros tipos de coesão podem aparecer, tais como, seqüencial, procedural, temporal e utilidade, as
quais, segundo Pressman (2006), são menos desejáveis e devem ser evitados quando existirem alternativas de projeto.
Ainda segundo Larman (2007), uma classe com coesão baixa faz muitas atividades que não estão relacionadas e trabalha em
demasia, acarretando os seguintes problemas: dificuldade de compreensão e manutenção, dificuldade de reutilização, além de
apresentar bastante sensibilidade a modificações.
Um controlador é 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. De forma mais simples, este é um padrão de projeto de delegação, pois, normalmente um
controlador deve delegar a outros objetos o serviço que precisa ser feito; ele coordena ou controla a atividade.
3a Questão
No padrão GRASP (General Responsability Assigment Software Patterns), a utilização do
polimorfismo é recomendada para auxiliar a responder a duas perguntas. Uma delas é:
Como criar componentes de software interconectáveis?
Qual afirmativa abaixo se refere a essa pergunta?
I- Essa pergunta se refere à utilização de comandos condicionais (if-then-esle ou switch por
exemplo).
II- Essa pergunta se refere a, se surgir uma nova regra ou uma nova variação condicional, ela
exigirá a modificação dos comandos, tornando difícil alterar e estender o programa.
III- Essa pergunta se refere a relacionamentos do tipo cliente-servidor, não necessariamente
aplicações em rede, mas com funcionalidades semelhantes, procurando destacar a importância de
se projetar uma solução que permita alterar o servidor sem precisar modificar ou afetar a classe
cliente.
Est(á)ão correta(s) a(s) afirmativa(s):
Somente o item II;
Somente o item I;
Somente os itens II e III;
Somente o item III;
Somente os itens I e II;
Respondido em 16/04/2020 08:46:26
Explicação:
Os itens I e II estão INCORRETOS porque elas se referem a primeira pergunta do padrão
Polimorfismo, que é:
Como tratar alternativas com base no tipo?
4a Questão
O General Responsability Assignment Software Pattener que define a responsabilidade: Tudo que diz respeito a classe deve ser
escrita nela é?
Creator
Controller
Polymorphis
High Coesion
Low Coupling
Respondido em 16/04/2020 08:46:28
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/4
Explicação:
A Coesão é um padrão GRASP que pode ser baixa ou alta. A Coesão mede o quanto as responsabilidades de
um elemento (classe, objeto, subsistema,¿) são fortemente relacionadas.
O Objeto com Coesão Alta é um objeto cujas responsabilidades são altamente relacionadas e que não
executa um volume muito grande de trabalho.
A ideia consiste em que, é desejável, que eu tenha uma aplicação de baixo acoplamento e alta coesão.
5a Questão
(FCC - 2012) O componente Controller do MVC:
Responde às solicitações de queries e encapsula o estado da aplicação.
Notifica os componentes de apresentação das mudanças efetuadas nos dados e expõe a funcionalidade da aplicação.
É onde são concentradas todas as regras de negócio da aplicação e o acesso aos dados.
Define o comportamento da aplicação, as ações do usuário para atualizar os componentes de dados e seleciona os
componentes para exibir respostas de requisições.
Envia requisições do usuário para o controlador e recebe dados atualizados dos componentes de acesso a dados.
Respondido em 16/04/2020 08:46:30
Explicação:
Temos os seguintes Padrões GRASP: Expert (Especialista),Creator (Criador), High Coesion,
Low Coupling (Baixo Acoplamento), Controller.
Padrões GRASP descrevem princípios fundamentais de atribuição de responsabilidade a objetos.
Controller (Controlador) - Padrão bastante utilizado no MVC, no Servlet.
O padrão controlador atribui a responsabilidade de manipular eventos do sistema para uma classe
que não seja de interface do usuário (UI) que representa o cenário global ou cenário de caso de
uso. Um objeto controlador é um objeto de interface não-usuário, responsável por receber ou
manipular um evento do sistema.
Atribuir a responsabilidade do tratamento de um evento do sistema a uma classe que representa
uma das seguintes escolhas:
Representa o ¿sistema¿ todo (controlador fachada)
Representa um tratador oficial de todos os eventos de sistema de um caso de uso (controlador de
caso de uso).
6a Questão
Um padrão controlador é 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, Este é um padrão de projeto de delegação, pois, normalmente um controlador deve
delegar a outros objetos o serviço que precisa ser feito. Dentre os conceitos abaixo, assinale aquele que complementa o objtivo
deste padrão.
ele controla ou coordena os métodos;
ele coordena ou controla a recursividade;
ele coordena ou controla a atividade;
ele coordena ou controla as classes;
ele coordena ou controla as generalizações;
Respondido em 16/04/2020 08:46:34
Gabarito
Coment.
7a Questão
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/4
Qual padrão GRASP tem como um de seus objetivos minimizar o impacto na camada de negócio referente às alterações nos
requisitos da interface com o usuário?
Especialista da Informação
Indireção
Mediador
Controlador
Alta Coesão
Respondido em 16/04/2020 08:46:36
8a Questão
O tipo tipos de coesão caracterizada quando um módulo executa um e somente um cálculo, e então retorna o resultado é chamada
de:
Funcional;
Recursiva.
Em Camada;
Paralela;
Comucacional
Respondido em 16/04/2020 08:46:37
javascript:abre_colabore('38403','186820394','3724199563');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 10a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A10_201803107685_V1 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
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?
polimorfismo
Indireção
Invenção Pura
controlador
variações protegidas
Respondido em 16/04/2020 08:46:45
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.
2a Questão
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.
Criador
Proxy;
Invenção pura;
Variações protegidas;
Indireção;
Respondido em 16/04/2020 08:46:47
Gabarito
Coment.
3a Questão
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','10','','','315368621');
javascript:abre_frame('2','10','','','315368621');
javascript:abre_frame('3','10','','','315368621');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
Marque a alternativa que representa o padrão GRASP que está relacionada com a seguinte questão: como projetar objetos e
subsistemas de modo que variações não causem impactos indesejados?
Controlador
Invenção Pura
Variações Protegidas
Indireção
Polimorfismo
Respondido em 16/04/2020 08:46:48
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, Indireção e Variações Protegidas.
O padrão Variações Protegidas serve para resolver problemas 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.
Este padrão de projeto é um princípio 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. As variações podem ser ainda divididas em evolutivas e corretivas.
4a Questão
Dentre as opções abaixo, assinale aquela que sugere onde uma aplicação do padrão de projeto Invenção Pura deve criar uma nova
classe específica para salvar objetos.
em um banco de dados ordenado;
em um banco de dados homogêneo;
em um banco de dados integrado;
em em um banco de dados relacional.
em em um banco de dados hierárquico;
Respondido em 16/04/2020 08:46:38
Gabarito
Coment.
5a Questão
Que tipo de Padrão GRASP devemos utilizar para o seguinte problema?
Atribuir responsabilidades apenas para classes do domínio conceitual pode levar à
situações de maior acoplamento e menos coesão.
Controlador;
Acoplamento fraco;
Pure Fabrication (Invenção Pura);
Coesão Alta.
Variações Protegidas;
Respondido em 16/04/2020 08:46:39
Explicação:
Essa resposta está correta para essa solução o Pure Fabrication (Invenção Pura) atribui 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).
6a Questão
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 3/4
O objetivo do padrão de projeto Indireção é atribuir responsabilidade a um objeto intermediário para servir como mediador entre
outros componentes ou serviços, com o objetivo de?
impedir que que eles não sejam diretamente excluídos;
impedir que que eles não sejam diretamente acoplados;
permitir que que eles sejam diretamente acoplados;
impedir que que eles sejam indiretamente acoplados;
impedir que que eles sejam parcialmente acoplados
Respondido em 16/04/2020 08:46:53
Gabarito
Coment.
7a Questão
Relacione os conceitos de:
1- Utilizado 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.
2- O seu objetivo é evitar o acoplamento direto entre objetos.
3- O seu objetivo é evitar que problemas de variação e instabilidade de objetos afetem outras
classes.
1- Variações Protegidas; 2- Indireção e 3- Invenção Pura.
1- Invenção Pura; 2- Variações Protegidas e 3- Indireção.
1- Variações Protegidas; 2- Invenção Pura e 3- Indireção.
1- Invenção Pura; 2- Indireção e 3- Variações Protegidas.
1- Indireção; 2- Invenção Pura e 3- Variações Protegidas.
Respondido em 16/04/2020 08:46:54Explicação:
Essa resposta está correta porque o relaciona corretamente os objetivos de modelo de Invenção
Pura, Indireção e Variações Protegidas.
8a Questão
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.
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.
É 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.
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.
Respondido em 16/04/2020 08:46:45
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.
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 4/4
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.
javascript:abre_colabore('38403','186820435','3724200584');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 1/4
PADRÕES DE PROJETO DE SOFTWARE 10a aula
Lupa
Vídeo
PPT
MP3
Exercício: CCT0763_EX_A10_201803107685_V2 16/04/2020
Aluno(a): FERNANDO RODRIGUES SILVA 2020.1 EAD
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 201803107685
1a Questão
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 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;
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;
Respondido em 16/04/2020 08:47:03
Explicação:
Essa resposta está correta porque as outras se referem a soluções de Indireção.
2a Questão
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;
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;
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','10','','','315368621');
javascript:abre_frame('2','10','','','315368621');
javascript:abre_frame('3','10','','','315368621');
02/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2331669&courseId=13035&classId=1250391&topicId=3041715&p0=03c7c0ace395d80182db0… 2/4
Evitar enviar mensagens a objetos muito distantes.
Identificar pontos de variação ou instabilidade potenciais;
Respondido em 16/04/2020 08:46:54
Explicação:
Essa resposta está INCORRETA porque ela deve ser usada para uma solução do padrão
Indireção.
3a Questão
O padrão Indireção tem como característica:
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.
É 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.
é 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.
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.
Respondido em 16/04/2020 08:46:55
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.
4a Questão
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?
variações protegidas
polimorfismo
Invenção Pura
Indireção
controlador
Respondido em 16/04/2020 08:47:09
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