Você está na página 1de 11

PADRES DE PROJETO DE SOFTWARE

0265_EX_A1_A10_2014

Data: 05/06/2014 12:02:

AULA 1
1a Questo (Ref.: 201201963200)

considere a afirmativa de Gamma e Al. citada abaixo e escolha a opo correta: - Em geral, todas as
arquiteturas orientadas a objeto bem-estruturadas esto cheias de padres. Uma das maneiras de medir a
qualidade de um sistema orientado a objetos avaliar se os colaboradores tomaram bastante cuidado com as
colaboraes comuns entre seus objetos. Focalizar em tais mecanismos durante o desenvolvimento de um
sistema pode levar a uma arquitetura menor, mais simples, muito mais compreensvel do que aquelas
produzidas quanto padres so ignorados

Padres so boas prticas e proporcionam garantia de qualidade na elaborao do cdigo


Padres so de uso obrigatrio e eliminam os erros cometidos na fase programao.
Padres causam falta de criatividade nos desenvolvedores e esta perda compromete a qualidade
Padroes sempre levam a uma arquitetura menor principalmente quando se usa tecnologia de objetos
Padres uma forma obrigatria de programar com objetos

2a Questo (Ref.: 201201970755)

Podemos afirmar que os Padres Estruturais da famlia GoF:

Aumentam a responsabilidade do programador em depurar o cdigo e as rotinas necessrias


documentao dos processos.
Fornecem um guia de como instanciar objetos, que normalmente envolve decises dinmicas para
escolher, por exemplo, qual classe instanciar ou a quais objetos delegar responsabilidade.
Definem caminhos comuns para a organizao de diferentes tipos de objetos, facilitando sua integrao e
colaborao mtua.
So projetados para organizar, gerenciar e combinar diferentes comportamentos.
Colocam em dvida o tratamento dispensado aos usurios na fase de levantamento das necessidades.

3a Questo (Ref.: 201201957152)

Podemos afirmar que padres de projeto de software:

no influenciam nos procedimentos, regras e prticas relativas s tcnicas orientadas a objetos.


dificultam de alguma foram a escolha de alternativas de projeto que tornam um sistema reutilizvel,
aumentando as alternativas que a comprometam.
invariavelmente pioram a documentao e a manuteno dos sistemas.
permitem descrever fragmentos de projeto e reusar idias de projeto, ajudando desenvolvedores a se
nivelar com a experincia de outros.
difcultam a reutilizao de projetos e arquiteturas bem sucedidas.

AULA 2
1a Questo (Ref.: 201201933230)

Um dos princpios do padro de arquitetura MVC a separao da lgica da apresentao do


modelo.
PORQUE
, muitas vezes, mais prtico manter a viso e o controlador unificados, inclusive, por demandas da
tecnologia.
Analisando-se as afirmaes acima, conclui-se que ...
.

As duas afirmaes so falsas


as duas afirmaes so verdadeiras, e a segunda justifica a primeira.
as duas afirmaes so verdadeiras, e a segunda no justifica a primeira.
a primeira afirmao verdadeira, e a segunda falsa.
a primeira afirmao falsa, e a segunda verdadeira.

2a Questo (Ref.: 201201963232)

Considere as afirmativa abaixo sobre o padro Builder: I ) utilizado na instanciao de objetos complexos. II)
visto como um construtor especializado, que ir executar e avaliar diferentes regras de negcio e demais
particularidades relacionadas com a criao de um novo objeto. III )A idia atribuir a responsabilidade de
criao do objeto complexo a outra classe, esta classe ir armazenar todas as configuraes e regras
necessrias para a instanciao do novo objeto.

As afirmativas I, II, esto corretas e a afirmativa III est errada.


As afirmativas II, III esto corretas e a afirmativa I est errada.
As afirmativas I, III, esto corretas e II errada
As afirmativas I, II, III esto incorretas
As afirmativas esto todas corretas

3a Questo (Ref.: 201201963230)

considerando a classe de projetos GoF assinale a opo cujos padres de projeto esto todos classificados como
Estruturais:

singleton; bridge ; composite; decorator ; faa de ; flyweight; Proxy


singleton; bridge ; protype; decorator ; faa de ; flyweight ; Proxy
adapter ; bridge ; composite ; decorator ; faa de ; flyweight ; Proxy
adapter ; bridge ; composite ; decorator ; faa de ; flyweight ; singleton
adapter ; bridge ; protype decorator ; faa de ; flyweight ; singleton

AULA 3
1a Questo (Ref.: 201201933229)

Para fazer a modelagem de um padro de projeto (design pattern) utilizando a UML DESNECESSRIO.

identificar as solues especficas e particulares para o problema bsico e reific-la como um mecanismo.
fazer a modelagem do mecanismo como uma colaborao, fornecendo seus aspectos estruturais, assim
como os aspectos comportamentais.
identificar as solues comuns para o problema bsico.
entender o padro de projeto como uma colaborao representada com suas partes estruturais e
comportamentais.
identificar os elementos do padro de projeto que devem ser vinculados aos elementos em um contexto
especfico e represent-los como parmetros para colaborao.

2a Questo (Ref.: 201201963238)

O padro de projeto Singleton um dos padres mais conhecidos e extensivamente utilizados em programao
orientada a objetos. Sobre ele podemos afirmar I - Est direcionado para as situaes onde precisamos manter
uma nica instancia de uma classe durante toda a execuo da aplicao. II - A sua estrutura bastante
simples, existe apenas uma classe chamada Singleton, que define um mtodo chamado Instance, responsvel
poder retornar aos clientes nica instancia da classe. III Na linguagem Java os modificadores states e
private devem garantir uma mesma instncia para todos os objetos criados e evitar acesso pblico;

As afirmativas I, III, esto corretas e II errada


As afirmativas II, III esto corretas e a afirmativa I est errada.
As afirmativas esto todas corretas
As afirmativas I, II, esto corretas e a afirmativa III est errada.
As afirmativas I, II, III esto incorretas

3a Questo (Ref.: 201201963241)

Programadores se deparam muitas vezes com a situao onde preciso acrescentar responsabilidades a objetos
e no a classe. Uma alternativa atribuir dinamicamente a um dado objeto. Este padro chamado de:

Bridge
Singleton
Decorator.
protype
Instance

AULA 4

1a Questo (Ref.: 201201963244)

sobre o padro Bridge pode-se afirmar: I pode-se adaptar dinamicamente a diferentes plataformas . Ii quando se pretende desenvolver uma determinada soluo para duas plataformas diferentes utilizar herana,
implementando uma classe derivada para cada situao a soluo tima que permite flexibilidade para
mudanas e reutilizao da das abstraes e implementaes de forma independente Iii - . deve-se separar
completamente a interface da classe da sua implementao, de tal modo que uma dada implementao pode
ser definida em tempo de execuo, at mesmo mudar de implementao em tempo de execuo

As afirmativas I, II, esto corretas e a afirmativa III est errada.

As afirmativas I, II, III esto incorretas


As afirmativas esto todas corretas
As afirmativas II, III esto corretas e a afirmativa I est errada.
As afirmativas I, III, esto corretas e II errada

2a Questo (Ref.: 201201962769)

Em padro de projeto existe uma situao onde uma classe chama um mtodo abstrato especificado em alguma
classe abstrata (ou interface) e a subclasse concreta vai decidir que tipo exato de objeto criar e retornar.
Baseado nessa descrio marque a alternativa que aponta o padro relacionado.

Factory Method.
Singleton.
Builder.
Mediator
Facade.

3a Questo (Ref.: 201201962768)

Conhecido como padres da gangue dos quatro, por terem sido desenvolvidos por quatro autores, os Padres
GoF (Group of Four) esto divididos pelos seguintes famlias de padres: Padres de Criao ou de Construo,
Padres Estruturais e Padres Comportamentais.
Considerando os padres de Criao ou de Construo, analise o modelo abaixo e em seguida marque a
alternativa que define a representao.

Facade.
Mediator.
Builder.
Factory Method.
Singleton.

AULA 5

1a Questo (Ref.: 201201962810)


Conhecido como padres da gangue dos quatro, por terem sido desenvolvidos por quatro autores, os Padres GoF
(Group of Four) esto divididos pelos seguintes famlias de padres: Padres de Criao ou de Construo, Padres

Estruturais e Padres Comportamentais.


Considerando os padres de Criao ou de Construo, analise o modelo abaixo e em seguida marque a alternativa
que define a representao.

SINGLETON.
BUILDER.
MEDIATOR.
FACTORY METHOD.
PROTOTYPE.

2a Questo (Ref.: 201201974493)


(CESGRANRIO - 2009) Por motivo de segurana, deseja-se adicionar registro (log) das operaes efetuadas no
sistema de contabilidade de uma empresa. O arquiteto do sistema decide que deve existir somente uma
instncia de uma classe de registro (log) e que esta ser o ponto de acesso global para os demais componentes
do sistema.
Que padro de projeto pode ser utilizado nesse caso?

Iterator.
Visitor.
Bridge.
Singleton.
Memento.

3a Questo (Ref.: 201201974485)


(CESGRANRIO - 2010) Em um sistema de software para controlar pedidos para entrega em domiclio, deve haver
uma funcionalidade que permita que o atendente solicite a repetio 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 composio corresponde a produtos
normalmente requisitados pelos clientes e solicita ao sistema a construo de um novo pedido igual ao
selecionado. Esse novo pedido pode, ento, ser alterado pelo atendente se o cliente solicitar a adio de novos
produtos do cardpio, por exemplo. Portanto, a parte principal dessa funcionalidade corresponde a criar uma
cpia de um pedido a partir de pedido preexistente.

Na implementao dessa funcionalidade, seu desenvolvedor deve utilizar qual padro de projeto do catlogo GoF
(Gang of Four), dentre os listados abaixo?

Prototype.
Abstract Factory.
Factory Method.
Builder.
Command.

AULA 6

1a Questo (Ref.: 201201971118)

Iterator :Fornecer uma maneira de acessar seqencialmente os elementos de um objeto agregado sem expor
sua implementao. (Gamma et al., 2000). Sobre este padro de projetos podemos afirma com certeza:

bastante utilizado em programao de sistemas para gerenciar a comunicao entre dois ou mais
objetos, mas no deve ser usado quando associado a percorrer arrays ou tabelas.
bastante utilizado em programao de sistemas para gerenciar a comunicao entre dois ou mais
objetos
Oferece uma forma de percorrer este tipo de objeto agregado sem conhecer seus detalhes de
implementao.
Considerando objetos que implementam arrays, pode ser visto como uma classe intermediria de
comunicao e gerenciamento, evitando que os objetos se comuniquem de forma direta
tem uma grande facilidade de mudana de comportamento, pode-se alterar seu funcionamento sem que
seja necessrio nenhuma mudana nas demais classes envolvidas, desde que envolvam colees e
matrizes.

2a Questo (Ref.: 201201971122)

A definio 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 padro de projeto:

Mediator
Iterator
Builder.
Command
Memento

3a Questo (Ref.: 201201974488)

(CESGRANRIO - 2009) Ao consultar informaes a respeito dos padres de projeto Adapter e Bridge, um
Analista de Sistemas identificou uma afirmativa INCORRETA. Assinale-a.

Ambos promovem a flexibilidade ao fornecer um nvel de endereamento indireto para outro objeto.
O Adapter inferior ao Bridge porque no evita a replicao de cdigo.
O Bridge estabelece uma ponte entre uma abstrao e suas possveis implementaes.

O foco do Adapter a soluo de incompatibilidades entre duas interfaces existentes.


Ambos so padres estruturais que possuem alguns atributos em comum.

AULA 7

1a Questo (Ref.: 201201974446)

(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

State.
Strategy.
Composite.
Flyweight.
Builder.

2a Questo (Ref.: 201201972194)

considere a definio: O padro Strategy define uma famlia de algoritmos , encapsula cada um deles , e tornaos intercambiveis, permitindo assim que os algoritmos variem independentemente dos clientes que os utilizam
(Gamma et al., 2000). Qual das alternativas completamente verdadeira?

O principal objetivo do padro acima permitir que sejam adicionadas novas funcionalidades a classes
previamente concebidas, sem que haja necessidade de alterar sua implementao.
O padro de projeto acima indicado para ser utilizado quando uma abstrao tem dois aspectos, um
dependente do outro. Encapsular tais aspectos em objetos separados permite que variem e sejam
reusados separadamente;
O padro de projeto acima deve ser utilizado no somente quando o comportamento de um objeto
depende do seu estado, podendo ser alterado em tempo de execuo, mas tambm quando a
funcionalidade de um objeto possui condicionais grandes.
A idia principal do padro acima implementar diferentes algoritmos em uma hierarquia de classes,
onde cada um deles pode ser substitudo por outro, independente do cliente que o utiliza.
O principal objetivo do padro acima conservar as funcionalidades em no se permita adicionar novas,
E obriga que haja necessidade de alterar sua implementao

3a Questo (Ref.: 201201973798)

( CESGRANRIO - 2008) "Classes devem estar abertas para extenso e fechadas para modificao" um princpio
de projeto de modelos orientados a objetos.
Tal princpio pode ser aplicado atravs do padro de projeto

decorator.
flyweight.
builder.
singleton.
prototype.

AULA 8

1a Questo (Ref.: 201201972215)

considere as classes e mtodos abaixo: E escolha a opo correta sobre a gravura: E escolha a opo correta
sobre a gravura:

sobre o acoplamento e coeso :

Existem acoplamentos das classes que foram gerados de forma desnecessria pois poderiam ser
incorporados em um nico mtodo e isto iria facilitar a manuteno e o entendimento.
Existem acoplamentos que poderiam ser evitados, considerando apenas o diagrama, assim o mtodo de
imprimir nota fiscal, dando-se o cdigo de cliente, pode ser mapeado de forma diferente melhorando-se
o acoplamento.
O mtodo void imp_NF (cod) poderia ser implementado na classe NF sem envolver mais nenhuma classe.
No tendo outros mdotos o acoplamento no existiria o que o desejvel.
mtodo void imp_NF (cod) no deve ser implementado na classe NF. Obteria-se um projeto melhor se NF
fosse acoplada a classe Cliente seus mtodos incorporados na classe cliente. Pode-se garantir um melhor
acoplamento
Existem acoplamentos das classes cliente e Nota fiscal. E Nota fiscal e Item de Nota fiscal. Esta forma de
acoplamento caracterizado por chamada de mtodos.

2a Questo (Ref.: 201201972202)

Marque a alternativa que est relacionada ao padro de projeto que auxiliar a reduzir o impacto de
modificaes em uma aplicao.

Observador
Criador
State
Acoplamento fraco
Especialista da informao

3a Questo (Ref.: 201201972192)

Considere a definio: State: Permitir a um objeto alterar o seu comportamento quando o seu estado interno
mudar. O objeto parecer ter mudado de classe (Gamma et al., 2000). Qual das alternativas completamente
verdadeira?

A idia principal do padro acima implementar diferentes algoritmos em uma hierarquia de classes,
onde cada um deles pode ser substitudo por outro, independente do cliente que o utiliza.
O padro de projeto acima indicado para ser utilizado quando uma abstrao tem dois aspectos, um
dependente do outro. Encapsular tais aspectos em objetos separados permite que variem e sejam
reusados separadamente;
O padro de projeto acima deve ser utilizado no somente quando o comportamento de um objeto
depende do seu estado, podendo ser alterado em tempo de execuo, mas tambm quando a
funcionalidade de um objeto possui condicionais grandes.
O principal objetivo do padro acima conservar as funcionalidades em no se permita adicionar novas,
E obriga que haja necessidade de alterar sua implementao
O principal objetivo do padro acima permitir que sejam adicionadas novas funcionalidades a classes
previamente concebidas, sem que haja necessidade de alterar sua implementao.

AULA 9

1a Questo (Ref.: 201201972340)

Considere a figura abaixo

E escolha a opo correta sobre a gravura:

A Classe instanciada assinalada como :???? No pode ser decomposta em outros controladores. Assim
temos que trabalhar com o tipo de coeso resultante (temporal, funcional...)
A classe instanciada assinalada como :???? Permite desacoplar as classes e mtodos de apresentao. E
isto aumenta a reutilizao das classes de negocio.
A Classe instanciada assinala como :???? de baixo acoplamento e baixa coeso pela natureza de sua
criao.
uma classe de controle exige que sempre se tem h uma classe de apresentao. Desta forma no
podemos ter mais de uma classe de controle por sistema
A Classe instanciada assinalada como :???? Deveria estar incorporada na classe emprestar para evitar
criar uma serie de novas classes. Isto facilita o projeto.

2a Questo (Ref.: 201201974467)

(COPEVE-UFAL - 2011) O diagrama de classes apresentado na figura no representa fielmente um buffer que
passa por estados sucessivos de transformao. Em outras palavras, um buffer, que est inicialmente vazio,
depois pode ficar parcialmente cheio e, possivelmente, pode ficar cheio.

Dentre as opes apresentadas a seguir, qual o padro de projetos que melhor se adequaria para modelar essa
caracterstica dinmica do buffer?

Dynamic behavior.
Composite.
State.
Mediator.
Singleton.

3a Questo (Ref.: 201201972255)

Marque a alternativa que est relacionada ao padro GRASP responsvel manter os objetos focados, com
funcionalidades especficas, intelegveis e gerenciveis?

Especialista da informao
Criador
Baixo acoplamento
Controlador
Coeso alta

AULA 10

1a Questo (Ref.: 201201972209)

Selecione a opo totalmente correta da responsabilidade correta para o do padro GRASP Criador:

Tem a responsabilidade de como primeira atividade procura-se objetos de software existentes que
satisfaam os mtodos necessrios para a criao do objeto. Uma criao fica definida pela definida pela
prpria classe alocando-se o mtodo.
Tem a seguinte responsabilidade de responder de maneira intuitiva por um programador ou analista de
sistema, baseado nas interao e nos mtodos menos utilizados, desta forma otimizando a criao.
A responsabilidade definida pelo programador baseado nos mtodos solicitados pela classe que est
sendo criada.
Tem a seguinte responsabilidade de fazer, pois sua funcionalidade est relacionado com a resposta a
seguinte pergunta: quem deve criar um objeto A.
O padro de projeto est interessado no algoritmo de criao, e a determinar qual classe dever ser
responsvel pelo uso de um novo mtodo referente a classe inicial.

2a Questo (Ref.: 201201973789)

(CESGRANRIO - 2010) Um dos participantes da equipe de desenvolvimento de um framework deve implementar


uma operao em uma das classes desse framework. Seja X o nome dessa classe. Essa operao implementa
um algoritmo em particular. Entretanto, h passos desse algoritmo que devem ser implementados pelos
usurios do framework atravs da definio de uma subclasse de X. Sendo assim, qual o padro de projeto do
catlogo GoF (Gang of Four) a ser usado pelo desenvolvedor do framework na implementao da referida
operao, dentre os listados a seguir?

Observer.
Interpreter.
Template Method.
Decorator.
Singleton.

3a Questo (Ref.: 201201972375)

O padro Inveno Pura tem como caracterstica:

Sugere atribuir um conjunto de responsabilidades altamente coesa a uma classe artificial ou de


convenincia que no represente o domnio do problema, algo inventado, para apoiar coeso alta,
acoplamento baixo e reuso.
implica que um componente ou classe encapsule somente os atributos e operaes muito relacionadas a
si e com a classe do componente ou classe propriamente dito.
o primeiro objeto alm da camada de interface com o usurio que responsvel por receber ou tratar
uma mensagem de operao do sistema.
O objetivo atribuir responsabilidade a um objeto intermedirio para servir como mediador entre outros
componentes ou servios, para que eles no sejam diretamente acoplados.
um principio bsico para fornecer flexibilidade e proteo contra diversos tipos de variaes em um
projeto orientado a objetos, tais como: variaes nos dados, comportamento, hardware, componentes de
software, sistemas operacionais, entre outros.