Buscar

Exercícios de Aula - PADRÕES DE PROJETO DE SOFTWARE

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

PADRÕES DE PROJETO DE SOFTWARE
Aula 01
	
		1.
		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.
		Quest.: 1
	
	
	
	
	Apenas a sentença II está correta
	
	 
	Todas as sentenças estão corretas
	
	
	Apenas as sentenças I e III estão corretas
	
	
	Apenas as sentenças II e III estão corretas
	
	
	Apenas as sentenças I e II estão corretas
	
	
	
		2.
		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.
		Quest.: 2
	
	
	
	
	Apenas as sentenças II e III estão corretas
	
	 
	Apenas as sentenças I e III estão corretas
	
	
	Apenas a sentença II está correta
	
	
	Todas as sentenças estão corretas
	
	
	Apenas as sentenças I e II estão corretas
	
	
	
		3.
		considere a afirmativa de Gamma e Al. citada abaixo e escolha a opção correta: ¿ Em geral, todas as arquiteturas orientadas a objeto bem-estruturadas estão cheias de padrões. Uma das maneiras de medir a qualidade de um sistema orientado a objetos é avaliar se os colaboradores tomaram bastante cuidado com as colaborações comuns entre seus objetos. Focalizar em tais mecanismos durante o desenvolvimento de um sistema pode levar a uma arquitetura menor, mais simples, muito mais compreensível do que aquelas produzidas quanto padrões são ignorados.¿
		Quest.: 3
	
	
	
	 
	Padrões são boas práticas e proporcionam garantia de qualidade na elaboração do código.
	
	
	Padrões causam falta de criatividade nos desenvolvedores e esta perda compromete a qualidade.
	
	 
	Padrões sempre levam a uma arquitetura menor principalmente quando se usa tecnologia de objetos
	
	
	Padrões é uma forma obrigatória de programar com objetos
	
	
	Padrões são de uso obrigatório e eliminam os erros cometidos na fase programação.
	
	
	
		4.
		Uma das categoria que tradicionalmente se classificam os padrões de projeto: Padrões de criação cujo objetivo é:
		Quest.: 4
	
	
	
	
	Define a forma de organização dos objetos e sua colaboração mutua
	
	
	Define formas de gerencia e combinar diferentes comportamentos.
	
	
	Define como implantar o mecanismo de herança em um grupo de objetos
	
	
	Define como implantar um novo método em uma classe.
	
	 
	Define formas de instanciar objetos delegando responsabilidades
	
	
	
		5.
		(FCC-2011) Os design patterns
		Quest.: 5
	
	
	
	
	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.
	
	
	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 aplicações propriamente ditas, normalmente construídas pela integração de diversos frameworks.
	
	
	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.
	
	 
	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.
	
	
	
		6.
		A família de padrões GoF é dividida em três grupos principais de padrões, a saber:
		Quest.: 6
	
	
	
	
	Padrões de Criação; Padrões Metodológicos; Padrões de Ponte
	
	
	Padrões Estruturais; Padrões de Processo; Padrões de Responsabilidade
	
	
	Padrões de Proxy; Padrões de Criação; Padrões de Encadeamento
	
	 
	Padrões Comportamentais; Padrões de Criação; Padrões Estruturais
	
	
	Padrões de Processo; Padrões de Singularidade; Padrões de Prototipação
	
Aula 02
	
		1.
		Um dos princípios do padrão de arquitetura MVC é a separação da lógica da apresentação do modelo.
PORQUE
É, muitas vezes, mais prático manter a visão e o controlador unificados, inclusive, por demandas da tecnologia.
Analisando-se as afirmações acima, conclui-se que ...
.
		Quest.: 1
	
	
	
	
	a primeira afirmação é verdadeira, e a segunda é falsa.
	
	 
	as duas afirmações são verdadeiras, e a segunda justifica a primeira.
	
	 
	as duas afirmações são verdadeiras, e a segunda não justifica a primeira.
	
	
	As duas afirmações são falsas
	
	
	a primeira afirmação é falsa, e a segunda é verdadeira.
	
	
	
		2.
		considerando a classe de projetos GoF assinalem a opção cujos padrões de projeto estão todos classificados como Comportamentais
		Quest.: 2
	
	
	
	 
	Command,- Interpreter, - Iterator, - Mediator, - Observer, State, Strategy
	
	
	Command,- bridge, - Iterator, - Mediator, - composite - State, Strategy
	
	
	Command,- bridge, - Iterator, - Mediator, - Observer, State, Strategy
	
	
	Command,- bridge, - Iterator, - Mediator, bridge, State, Strategy
	
	
	Command,- Interpreter, - Iterator, - Mediator, - composite , State, Strategy
	
	
	
		3.
		considerando a classe de projetos GoF assinale a opção cujos padrões de projeto estão todos classificados como criação:
		Quest.: 3
	
	
	
	 
	Abstractly factory ; Builder ; Factory Method ; Protype - Singleton
	
	
	Abstractly factory ; Bridge ; Factory Method ; Protype ; Singleton
	
	
	Abstractly factory ; Builder ; Factory Method ; Decorator - Singleton
	
	
	Command ; Builder ; Factory Method ; Protype - Singleton
	
	
	Abstractly factory ; Builder ; Composite ; Protype - Singleton
	
	
	
		4.
		Consideram as afirmativa abaixo sobre o padrão protype I - Declara um método chamado clone na superclasse abstrata do modelo (Prototype). Em função desta declaração, cada classe concreta derivada deve ser capaz de gerar uma nova instância de si próprio. II - , Entre as aplicações para este padrão de projeto está a facilidade de instanciar classes em tempo de execução. III Quando as instancias de uma classe apresentam poucas combinações de estados, pode ser mais conveniente definir previamente um conjunto de protótipos e cloná-los, sempre que foi necessário.
		Quest.: 4
	
	
	
	
	As afirmativas II, III estão corretas e a afirmativa I está errada.
	
	 
	As afirmativas estão todas corretas
	
	
	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 I, II, III estão incorretas
	
	
	
		5.
		considerando a classe de projetos GoF assinale a opção cujos padrões de projeto estão todos classificados como Estruturais:Quest.: 5
	
	
	
	
	adapter ; bridge ; composite ; decorator ; faça de ; flyweight ; singleton
	
	
	singleton; bridge ; protype; decorator ; faça de ; flyweight ; Proxy
	
	 
	adapter ; bridge ; composite ; decorator ; faça de ; flyweight ; Proxy
	
	
	adapter ; bridge ; protype ¿ decorator ; faça de ; flyweight ; singleton
	
	
	singleton; bridge ; composite; decorator ; faça de ; flyweight;¿ Proxy
	
	
	
		6.
		Assinale a afirmativa correta sobre o padrão Builder:
		Quest.: 6
	
	
	
	 
	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 é 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.
	
	
	é 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
	
	
	A legibilidade da solução final, ou seja, para entender como um objeto é criado e sob quais condições, fica comprometida
	
	
	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.
Aula 03
	
		1.
		Para fazer a modelagem de um padrão de projeto (design pattern) utilizando a UML é DESNECESSÁRIO.
		Quest.: 1
	
	
	
	 
	fazer a modelagem do mecanismo como uma colaboração, fornecendo seus aspectos estruturais, assim como os aspectos comportamentais.
	
	 
	identificar as soluções específicas e particulares para o problema básico e reificá-la como um mecanismo.
	
	
	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.
	
	
	entender o padrão de projeto como uma colaboração representada com suas partes estruturais e comportamentais.
	
	
	identificar as soluções comuns para o problema básico.
	
	
	
		2.
		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;
		Quest.: 2
	
	
	
	 
	As afirmativas II, III estão corretas e a afirmativa I está errada.
	
	
	As afirmativas I, III, estão corretas e II errada
	
	 
	As afirmativas estão todas corretas
	
	
	As afirmativas I, II, III estão incorretas
	
	
	As afirmativas I, II, estão corretas e a afirmativa III está errada.
	
	
	
		3.
		(FGV - 2008) Considere as seguintes assertivas sobre as vantagens do uso de padrões de software (software patterns): 
I. Padrões de projeto proporcionam um vocabulário comum de projeto, facilitando comunicação, documentação e aprendizado dos sistemas de software. 
II. Padrões de projeto auxiliam no desenvolvimento de software por meio da reutilização do projeto de soluções computacionais já testadas e aprovadas. 
III. Uma biblioteca de padrões pode ajudar a melhorar e padronizar o desenvolvimento de software. 
As assertivas corretas são:
		Quest.: 3
	
	
	
	
	somente II e III.
	
	 
	I, II e III.
	
	
	somente II.
	
	
	somente I e III.
	
	
	somente I e II.
	
	
	
		4.
		O projeto Orientado a objetos pressupõe a criação de modelos de domínio a partir dos requisitos identificados para entendimento do negócio e apresentação de uma solução. A esses modelos são acrescidas os aspectos físicos, como os métodos e a troca de mensagens entre eles. A questão é decidir a melhor forma de interação entre os métodos, ou seja, a atribuição da responsabilidade estabelecida para que se possa gerar um melhor resultado. 
Visando facilitar a construção de soluções são apresentados os padrões de projeto. Assinale dentre as alternativas a seguir a que NÃO define uma característica atribuída ao uso dos padrões.
		Quest.: 4
	
	
	
	 
	São definidos por especialistas de problemas e servem para aplicação direta em qualquer contexto.
	
	
	Fornece orientação de aplicação em circunstâncias variáveis.
	
	
	É apresentado através de uma descrição contendo informações de identificação e registro, como: Nome, Problema, Sumário, Solução, Conseqüências e Padrões Relacionados.
	
	
	O nome do padrão é utilizado para agrupar ideias em um conceito.
	
	 
	É uma descrição nomeada de um problema e solução que pode ser aplicado em novos contextos.
	
	
	
		5.
		(CONSULPLAN - 2012) O desenvolvimento de software é uma atividade que apresenta dificuldades, ligada ao entendimento do problema. Design Patterns surgiram na busca de soluções para as dificuldades, tornando-se um mecanismo eficiente no compartilhamento de conhecimento entre os desenvolvedores. Gamma propõe um modo de categorização dos DESIGN PATTERNS, definindo famílias de padrões relacionados, descritos a seguir. 
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. 
Essas famílias são denominadas, respectivamente,
		Quest.: 5
	
	
	
	
	Standard Patterns, Structural Patterns e Behavioral Patterns.
	
	
	Structural Patterns, Standard Patterns e Creational Patterns.
	
	
	Behavioral Patterns, Structural Patterns e Standard Patterns.
	
	 
	Standard Patterns, Creational Patterns e Structural Patterns.
	
	 
	Creational Patterns, Structural Patterns e Behavioral Patterns.
	
	
	
		6.
		Programadores se deparam muitas vezes com a situação onde é preciso acrescentar responsabilidades a objetos e não a classe. Uma alternativa é atribuir dinamicamente a um dado objeto. Este padrão é chamado de:
		Quest.: 6
	
	
	
	
	Singleton
	
	
	Bridge
	
	
	protype
	
	
	Instance
	
	 
	Decorator.
Aula 04
	
		1.
		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.
		Quest.: 1
	
	
	
	 
	Factory Method.
	
	 
	Facade.
	
	
	Singleton.
	
	
	Builder.
	
	
	Mediator.
	
	
	
		2.
		Em padrão de projeto existe uma situação onde uma classe chama um método abstrato especificado em alguma classe abstrata (ou interface) e a subclasse concreta vai decidir que tipo exato de objeto criar e retornar. 
Baseado nessa descrição marque a alternativa que aponta o padrão relacionado.
		Quest.: 2
	
	
	
	 
	Facade.
	
	
	Mediator
	
	
	Builder.
	
	
	Singleton.
	
	 
	Factory Method.
	
	
	
		3.
		O padrão Adpater é bastante utilizado para compatibilizar classes implementas por programadores diferentes, ou desenvolvidas em momentos diferentes, ou ainda para unir classes com interfacesdiferentes em uma estrututura hierarquica única, sem precisar implementar novamente todas as funcionalidades e interfaces da classe já existente, considere as afirmativas: I - 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 (Adaptee) com interface diferente da estrutura de classes que se pretende utilizar no sistema. Ii - 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. Iii cria uma hierarquia de classes diferentes categorias de objetos sem relação de herança.
		Quest.: 3
	
	
	
	 
	As afirmativas I, III, estão corretas e II errada
	
	
	As afirmativas estão todas corretas
	
	
	As afirmativas I, II, III estão incorretas
	
	 
	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.
	
	
	
		4.
		sobre o padrão Composite podemos afirmar: I ¿ É utilizado quando se pretende representar hierarquias partes-todo (ou todo-parte) de objetos, ou ainda, quando se pretende modelar relacionamento de agregação. Ii - o cliente poderá acessar objetos compostos ou não de maneira uniforme, pois irá se relacionar com a classe abstrata III ¿ Um processamento pode- ser realizado diretamente por uma superclasse Componente, quando se trata de uma composição, e o processamento parcial é feito pela classe filha, montando todas as partes que compõem o objeto.
		Quest.: 4
	
	
	
	
	As afirmativas estão todas corretas
	
	 
	As afirmativas I, II, III estão incorretas
	
	 
	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, III, estão corretas e II errada
	
	
	
		5.
		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.
		Quest.: 5
	
	
	
	
	FACTORY METHOD.
	
	 
	FACADE.
	
	
	SINGLETON.
	
	 
	BUILDER.
	
	
	MEDIATOR.
	
	
	
		6.
		Podemos afirmar que os Padrões Comportamentais da família GoF:
		Quest.: 6
	
	
	
	
	Diminuem a responsabilidade do desenvolvedor em modelar o sistema e adequar 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
	
	
	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
Aula 05
	
		1.
		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.
		Quest.: 1
	
	
	
	
	SINGLETON.
	
	 
	BUILDER.
	
	 
	PROTOTYPE.
	
	
	MEDIATOR.
	
	
	FACTORY METHOD.
	
	
	
		2.
		Entre as vantagens do padrão Interpreter podem-se citar: I - facilidade para mudar e estender a gramática, pois, o padrão utiliza classes para representar as regras gramaticais. I i - Pode-se usar herança para mudar ou estender a gramática, assim como expressões existentes podem ser modificadas incrementalmente e novas expressões podem ser criadas a partir das existentes; Iii - a implementação da gramática é mais fácil, pois, classes que definem os nós folhas da árvore tem implementações similares. Por outro lado, uma das desvantagens é que o padrão Interpreter define, ao menos, uma classe para cada regra da gramática, logo, gramáticas com muitas regras são difíceis de manter e administrar.
		Quest.: 2
	
	
	
	
	As afirmativas I, III, estão corretas e II errada
	
	 
	As afirmativas I, II, III estão incorretas
	
	
	As afirmativas I, II, estão corretas e a afirmativa III está errada.
	
	 
	As afirmativas estão todas corretas
	
	
	As afirmativas II, III estão corretas e a afirmativa I está errada.
	
	
	
		3.
		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.
		Quest.: 3
	
	
	
	 
	4 - 3 - 1 - 2
	
	
	3 - 4 - 1 - 2
	
	 
	4 - 2 - 1 - 3
	
	
	2 - 3 - 4 - 1
	
	
	4 - 1 - 2 - 3
	
	
	
		4.
		Na UML, o padrão Singleton (GoF) pode ser visto como na classe abaixo: 
Sobre o padrão de projeto Singleton, 
I - o número 1 no canto superior da classe pode ser utilizado opcionalmente para indicar que esta classe terá apenas uma única instância.
II - para se implementar o padrão Singleton na classe acima, esta deverá possuir um método construtor ServicesFactory() privado.
III - caso uma subclasse estenda a classe ServicesFactory através de herança, o método getInstance() deverá ser sobrescrito (override) para construir a subclasse.
IV - o método getInstance() deverá ser obrigatoriamente declarado como um método estático (static).
Assinale a alternativa que indica assertivas CORRETAS:
		Quest.: 4
	
	
	
	
	II - III - IV
	
	 
	I - II - III
	
	
	I - II - III - IV
	
	
	I - III - IV
	
	 
	I - II - IV
	
	
		5.
		(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?
		Quest.: 5
	
	
	
	
	Builder.
	
	 
	Prototype.
	
	
	Abstract Factory.
	
	
	Command.
	
	 
	Factory Method.
	
	
	
		6.
		(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ãode projeto pode ser utilizado nesse caso?
		Quest.: 6
	
	
	
	
	Visitor.
	
	
	Iterator.
	
	
	Bridge.
	
	
	Memento.
	
	 
	Singleton.
	
Aula 06
	
		1.
		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:
		Quest.: 1
	
	
	
	
	É 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
	
	
	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
	
	
	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.
	
	 
	Oferece uma forma de percorrer este tipo de objeto agregado sem conhecer seus detalhes de implementação.
	
	
	
		2.
		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. (Gamma et al., 2000). Sobre ele podemos afirmar com toda a certeza:
		Quest.: 2
	
	
	
	
	esta abordagem é que o objeto que está realizando a chamada do método precisa conhecer com detalhes sobre seu funcionamento.
	
	
	Este padrão de projeto oferece pouca flexibilidade na arquitetura do sistema, uma vez que não permite adição de novas funcionalidades
	
	
	Os métodos, nesta abordagem devem ser padronizados e hierarquizados de forma que a implementação trabalhe novos objetos.
	
	 
	O objetivo do padrão de projeto Command é encapsular chamadas de métodos.
	
	
	Nesta abordagem o objeto que está realizando a chamada do método precisa conhecer com detalhes a implementação em relação asparente ao local, tempo e ao objeto que vai realizar uma determinada tarefa
	
	
	
		3.
		(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.
		Quest.: 3
	
	
	
	
	Ambos são padrões estruturais que possuem alguns atributos em comum.
	
	 
	O Adapter é inferior ao Bridge porque não evita a replicação de código.
	
	
	O Bridge estabelece uma ponte entre uma abstração e suas possíveis implementações.
	
	
	Ambos promovem a flexibilidade ao fornecer um nível de endereçamento indireto para outro objeto.
	
	 
	O foco do Adapter é a solução de incompatibilidades entre duas interfaces existentes.
	
	
	
		4.
		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:
		Quest.: 4
	
	
	
	 
	Memento
	
	
	Mediator
	
	
	Iterator
	
	
	Command
	
	
	Builder.
	
	
	
		5.
		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:
		Quest.: 5
	
	
	
	
	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.
	
	
	Oferece uma forma de percorrer este tipo de objeto agregado sem conhecer seus detalhes de implementação
	
	
	É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais objetos
	
	 
	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.
	
	
	
		6.
		Mediator: Define um objeto que encapsula a forma como um conjunto de objetos interage. Mediator promove o acoplamento fraco ao evitar que os objetos se refiram explicitamente uns aos outros, permitindo que você varie suas interações independentemente. (Gamma et al., 2000).
Sobre este padrão de projetos podemos afirma com certeza:
		Quest.: 6
	
	
	
	
	Oferece uma forma de percorrer este tipo de objeto agregado sem conhecer seus detalhes de implementação
	
	 
	É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais objetos
	
	
	É 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 implementem arrays, pode ser visto como uma classe intermediária de comunicação e gerenciamento, evitando que os objetos se comuniquem de forma direta
	
	 
	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.
	
Aula 07
	
		1.
		O principal objetivo do Padrão Visitor é:
		Quest.: 1
	
	
	
	 
	Permitir que sejam adicionadas novas funcionalidades a classes previamente concebidas, sem que haja necessidade de alterar sua implementação.
	
	
	Quando uma abstração tem dois aspectos, um independente do outro, de impedir o encapsulamento de tais aspectos em objetos separados.
	
	
	Fornecer um guia de como instanciar objetos e classes.
	
	
	Criar uma maneira de separar um algoritmo genérico da estrutura de um objeto.
	
	
	Criar um acoplamento forte entre os objetos, tendo em vista que um objeto deve ser capaz de avisar outros fazendo suposições sobre quem são os objetos.
	
	
	
		2.
		considere a definição: 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 (Gamma et al., 2000). Qual das alternativas é completamente verdadeira?
		Quest.: 2
	
	
	
	
	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 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.
	
	 
	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 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;
	
	
	
		3.considere a definiçã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. (Gamma et al., 2000). 
Qual das alternativas é completamente verdadeira?
		Quest.: 3
	
	
	
	 
	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 é conservar as funcionalidades em não se permita adicionar novas, E obriga que haja necessidade de alterar sua implementação
	
	
	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.
	
	
	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.
	
	
	
		4.
		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?
		Quest.: 4
	
	
	
	 
	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.
	
	
	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.
	
	
	
		5.
		( CESGRANRIO - 2008) "Classes devem estar abertas para extensão e fechadas para modificação" é um princípio de projeto de modelos orientados a objetos. 
Tal princípio pode ser aplicado através do padrão de projeto
		Quest.: 5
	
	
	
	
	singleton.
	
	 
	prototype.
	
	
	flyweight.
	
	 
	decorator.
	
	
	builder.
	
	
	
		6.
		(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ê uma API (Application Programming Interface) de uso muito complicado. Para que os desenvolvedores possam acessar uma interface mais simples, o arquiteto do sistema pode determinar o uso do padrão de projeto
		Quest.: 6
	
	
	
	
	Observer.
	
	
	Decorator.
	
	 
	Façade.
	
	
	Flyweight.
	
	 
	Prototype.
	
Aula 08
	
		1.
		Marque a alternativa que está relacionada ao padrão de projeto que é responsável por selecionar quais responsabilidades devem estar em quais classes.
		Quest.: 1
	
	
	
	 
	Criador
	
	
	Acoplamento fraco
	
	
	State
	
	 
	Especialista da informação
	
	
	Observador
	
	
	
		2.
		Marque a alternativa que está relacionada ao padrão de projeto que é auxiliar a reduzir o impacto de modificações em uma aplicação.
		Quest.: 2
	
	
	
	
	State
	
	
	Especialista da informação
	
	
	Criador
	
	
	Observador
	
	 
	Acoplamento fraco
	
	
	
		3.
		(ESAF - 2005) 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 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.
		Quest.: 3
	
	
	
	 
	II e III
	
	
	III e IV
	
	 
	I e II
	
	
	II e IV
	
	
	I e III
	
	
	
		4.
		O autor Larman (2007) afirma que as responsabilidades estão relacionadas com as obrigações de um objeto, sendo divididas em dois tipos. Escolha dos dois tipos corretos nas afirmativas abaixo: I) Fazer: fazer algo propriamente dito, como criar um objeto ou realizar um cálculo. Iniciar uma ação em outros objetos. Controlar e coordenar atividades em outros objetos. II) Saber: ter conhecimento sobre dados privados encapsulados. Conhecer objetos relacionados. Ter conhecimento sobre funções que ele pode derivar ou calcular. III) Calcular: Fazer um cálculo especifico ao criar um objeto desde que envolva métodos que necessitem de cálculo.
		Quest.: 4
	
	
	
	 
	As afirmativas II e III são responsabilidades definidas pelo autor. e a afirmativa I não foi definida.
	
	
	Todas as afirmativas são responsabilidades definidas pelo autor.
	
	
	Todas as afirmativas não são responsabilidades definidas pelo auto
	
	
	As afirmativas I e III são responsabilidades definidas pelo autor. e a afirmativa II não foi definida.
	
	 
	As afirmativas I e II são responsabilidades definidas pelo autor. e a afirmativa III não foi definida.
	
	
	
		5.
		Marque a alternativa que apresenta apenas padrões GRASP?
		Quest.: 5
	
	
	
	 
	Coesão alta, controlador, strategy
	
	 
	Coesão alta, controlador e polimorfismo
	
	
	Observer, visitor, strategy
	
	
	Coesão alta, polimorfismo, visitor
	
	
	Controlador, polimorfismo e Memento
	
	
	
		6.
		Sobre o padrão Command: 
I - É ideal para acessar elementos de coleções, matrizes ou estruturas de dados encadeados 
II - A vantagem desta abordagem é que o objeto que está realizando a chamada do método não precisa saber nada sobre seu funcionamento. 
III - Este padrão de projeto oferece uma maior flexibilidade na arquitetura do sistema, uma vez que permite a adição de novas funcionalidades (comandos) sem a necessidade de mudar a arquitetura. 
podemos afirmar:
		Quest.: 6
	
	
	
	
	As afirmativas I, II, estão corretas e a afirmativa III está errada
	
	
	As afirmativas I, II, III e IV estão corretas.
	
	
	As afirmativas I, III, estão corretas e II errada
	
	 
	As afirmativas I, II, III estão incorretasAs afirmativas II, III estão corretas e a afirmativa I está errada.
	
Aula 09
	
		1.
		sobre o Polimorfismo considere a figura abaixo e selecione a reposta totalmente correta:
		Quest.: 1
	
	
	
	
	Define-se vários métodos. Cada método deve ter uma estrutura IF...THEN...para cada situação. 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.
	
	
	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 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.
	
	
	
		2.
		Marque a alternativa que está relacionada com o padrão GRASP utilizado para conectar a camada de interface com o usuário e a camada de negócios da aplicação?
		Quest.: 2
	
	
	
	
	Coesão alta
	
	 
	Controlador
	
	
	Especialista da informação
	
	
	Polimorfismo
	
	
	Baixo acoplamento
	
	
	
		3.
		Considere a figura abaixo
E escolha a opção correta sobre a gravura:
		Quest.: 3
	
	
	
	
	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.
	
	 
	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...)
	
	
	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
	
	
	
		4.
		Marque a alternativa que está relacionada ao padrão GRASP responsável manter os objetos focados, com funcionalidades específicas, intelegíveis e gerenciáveis?
		Quest.: 4
	
	
	
	
	Especialista da informação
	
	
	Baixo acoplamento
	
	
	Controlador
	
	 
	Coesão alta
	
	
	Criador
	
	
		5.
		(FUNIVERSA - 2009) Considerando os padrões de projetos (design patterns) da engenharia de software que utilizam as melhores práticas em orientação a objetos para atingir os resultados desejados, é correto afirmar que o padrão
		Quest.: 5
	
	
	
	
	aggregator é utilizado para compor objetos em estruturas de árvore, para representar hierarquias.
	
	
	decorator é utilizado para prover uma maneira de acessar os elementos de um objeto agregado sequencialmente sem expor sua representação interna.
	
	 
	bridge é utilizado para desacoplar uma abstração de sua implementação para que os dois possam variar independentemente.
	
	
	composite é utilizado para oferecer uma interface única para um conjunto de interfaces de um subsistema, definindo uma interface de nível mais elevado que torna o subsistema mais fácil de usar.
	
	
	memento permite definir uma nova operação, sem mudar as classes dos elementos nos quais opera.
	
	
	
		6.
		(COPEVE-UFAL - 2011) O diagrama de classes apresentado na figura não representa fielmente um buffer que passa por estados sucessivos de transformação. Em outras palavras, um buffer, que está inicialmente vazio, depois pode ficar parcialmente cheio e, possivelmente, pode ficar cheio. 
Dentre as opções apresentadas a seguir, qual o padrão de projetos que melhor se adequaria para modelar essa característica dinâmica do buffer?
		Quest.: 6
	
	
	
	
	Dynamic behavior.
	
	 
	Mediator.
	
	
	Composite.
	
	 
	State.
	
	
	Singleton.
	
Aula 10
	
		1.
		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?
		Quest.: 1
	
	
	
	
	variações protegidas
	
	 
	Invenção Pura
	
	
	controlador
	
	 
	Indireção
	
	
	polimorfismo
	
	
	
		2.
		O padrão Invenção Pura tem como característica:
		Quest.: 2
	
	
	
	
	implica que um componente ou classe encapsule somente os atributos e operações muito relacionadas a si e com a classe do componente ou classe propriamente dito.
	
	
	É um principio básico para fornecer flexibilidade e proteção contra diversos tipos de variações em um projeto orientado a objetos, tais como: variações nos dados, comportamento, hardware, componentes de software, sistemas operacionais, entre outros.
	
	
	é 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.
	
	
	
		3.
		(CESPE 0 2007) Considerando a figura, que apresenta um diagrama de relacionamento entre os padrões de projeto descritos no livro GoF Book, julgue os próximos itens acerca dos conceitos de programação orientada a objetos e padrões de projetos orientados a objetos. 
I A implementação de padrões de projeto criacionais em linguagens como C#, Delphi e Java sempre envolverá a alocação de memória para a criação de objetos. 
II A implementação de montadores de árvores sintáticas apóia-se mais no uso do padrão Singleton que no uso do padrão Composite. 
III A implementação de tratadores de eventos de interface gráfica apóia-se mais no uso do padrão Observer que no uso do padrão Visitor. 
IV A implementação de famílias portáveis de componentes de interface gráfica depende mais do emprego do padrão Chain of Responsibility que do padrão AbstractFactory. 
V O padrão TemplateMethod é mais simples que o padrão Memento. 
Estão certos apenas os itens
		Quest.: 3
	
	
	
	
	II, III e V.
	
	
	II, III e IV.
	
	 
	I, III e V.
	
	
	I, IV e V.
	
	 
	I, II e IV.
	
	
		4.
		Selecione a opção totalmente correta da responsabilidade correta para o do padrão GRASP Criador:
		Quest.: 4
	
	
	
	 
	A responsabilidade é definida pelo programador baseado nos métodos solicitados pela classe que está sendo criada.
	
	
	O padrão de projeto está interessado no algoritmo de criação, e a determinar qual classe dever ser responsável pelo uso de um novo método referente a classe inicial.
	
	
	Tem a responsabilidade de como primeira atividade procura-se objetos de software existentes que satisfaçam os métodos necessários para a criação do objeto. Uma criação fica definida pela definida pela própria classe alocando-se o método.
	
	
	Tem a seguinte responsabilidade de responder de maneira intuitiva por um programador ou analista de sistema, baseado nas interação e nos métodos menos utilizados, desta forma otimizando a criação.Tem a seguinte responsabilidade de fazer, pois sua funcionalidade está relacionado com a resposta a seguinte pergunta: quem deve criar um objeto A.
	
	
		5.
		Considere a seguinte definição: 
"Define um objeto que encapsula o modo como um conjunto de objetos interage. Promove um acoplamento fraco entre objetos, evitando que referenciem diretamente um ao outro e permitindo que se possa variar a interação entre eles de modo independente.(Gamma et al., 2000)"
Marque a alternativa que indica o nome do padrão relacionado:
		Quest.: 5
	
	
	
	 
	Strategy
	
	 
	Mediator
	
	
	Prototype
	
	
	Observer
	
	
	Singleton
	
	
	
		6.
		Marque a alternativa que representa o padrão GRASP que está relacionada com a seguinte questão: A quem atribuir responsabilidades para evitar acoplamento direto entre objetos?
		Quest.: 6
	
	
	
	
	Polimorfismo
	
	
	Controlador
	
	
	Invenção Pura
	
	
	Variações Protegidas
	
	 
	Indireção

Continue navegando