Logo Passei Direto
Buscar

Ferramentas de estudo

Questões resolvidas

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

Prévia do material em texto

Adapter 
O que e o padrao de projeto Adapter?
a) Um padrao que facilita a criacao de objetos unicos
b) Um padrao que adapta a interface de uma classe para outra esperada por um cliente
c) Um padrao que divide uma classe em subclasses
d) Um padrao voltado apenas para sistemas legados
Resposta correta: b)
O padrao Adapter e utilizado para adaptar a interface de uma classe para outra esperada pelo
cliente. Ele age como um "tradutor" entre duas interfaces incompativeis, permitindo que classes que
nao poderiam funcionar juntas interajam sem modificar seu codigo original.
Em qual das situacoes abaixo o uso de um Adapter seria mais apropriado?
a) Quando se deseja criar multiplas instancias de uma classe
b) Quando se quer esconder detalhes de implementacao de uma API
c) Quando se precisa reutilizar uma classe existente, mas sua interface e incompativel com a
aplicacao atual
d) Quando se deseja aumentar a performance de uma aplicacao
Resposta correta: c)
O Adapter e especialmente util quando se quer reutilizar uma classe existente, mas sua interface
nao e compativel com a aplicacao que a consome. Em vez de alterar o codigo da classe original, o
Adapter atua como um intermediario que traduz as chamadas para o formato esperado.
Qual e a principal funcao de um Adapter no contexto de padroes de projeto estruturais?
a) Reforcar a seguranca do sistema
b) Criar objetos com base em parametros dinamicos
c) Adaptar interfaces incompativeis de forma que possam trabalhar juntas
d) Permitir que objetos se autoatualizem com base em eventos
Resposta correta: c)
Padroes estruturais tratam da composicao de classes e objetos. O Adapter se enquadra nesse
grupo por permitir que interfaces incompativeis possam funcionar juntas, resolvendo problemas de
acoplamento em sistemas legados ou heterogeneos.
Como o padrao Adapter se diferencia do padrao Facade?
a) Adapter fornece uma interface simplificada, enquanto Facade transforma uma interface existente
b) Adapter transforma interfaces, enquanto Facade simplifica o acesso a subsistemas complexos
c) Ambos os padroes sao identicos em funcionalidade
d) Facade depende do Adapter para funcionar
Resposta correta: b)
Embora ambos os padroes possam envolver um nivel de abstracao, o Adapter e focado em
converter interfaces, enquanto o Facade busca oferecer uma interface mais simples para um
subsistema complexo. Eles tem propositos diferentes, mesmo que suas estruturas as vezes se
parecam.
No padrao Adapter, como e chamada a classe que sera adaptada?
a) Adaptador
b) Cliente
c) Adaptee
d) Interface
Resposta correta: c)
No padrao Adapter, a classe que possui a interface incompativel, mas que contem a funcionalidade
desejada, e chamada de Adaptee. O Adapter encapsula o Adaptee e traduz suas chamadas para
uma interface que o cliente consiga utilizar.
Qual e a vantagem de usar um Adapter em vez de modificar diretamente o codigo da classe
original?
a) Permite aumento de performance
b) Facilita a heranca multipla
c) Mantem o principio de aberto/fechado e evita alteracoes em codigo existente
d) Garante que a interface seja sempre publica
Resposta correta: c)
O Adapter segue o principio de aberto/fechado do SOLID, que prega que as classes devem estar
abertas para extensao, mas fechadas para modificacao. Com isso, e possivel adaptar o
comportamento de uma classe sem alterar seu codigo-fonte.
Em linguagens orientadas a objetos como Java ou C#, como o Adapter e comumente
implementado?
a) Usando interfaces e heranca
b) Utilizando programacao funcional
c) Atraves de serializacao de objetos
d) Compondo a classe atraves de heranca multipla
Resposta correta: a)
O Adapter pode ser implementado utilizando heranca (herdando do Adaptee) ou composicao
(mantendo uma instancia do Adaptee internamente). O uso de interfaces tambem e comum para
garantir que o Adapter siga o contrato esperado pelo cliente.
Quando se utiliza o padrao Adapter no formato de heranca, como ele e chamado?
a) Adapter externo
b) Adapter de instancia
c) Adapter por classe
d) Adapter duplicado
Resposta correta: c)
Quando o Adapter e implementado por meio de heranca direta do Adaptee, ele e chamado de
Adapter por classe. Essa abordagem tem limitacoes, como a impossibilidade de adaptar varias
classes com interfaces diferentes simultaneamente.
Em qual situacao o Adapter baseado em composicao e preferido ao baseado em heranca?
a) Quando ha necessidade de adaptar multiplas classes com comportamentos diferentes
b) Quando se deseja aumentar a performance de execucao
c) Quando a linguagem nao permite o uso de interfaces
d) Quando nao e possivel acessar os metodos da classe original
Resposta correta: a)
A composicao e mais flexivel do que a heranca, especialmente quando se precisa adaptar multiplas
classes com comportamentos distintos. Ao manter instancias internas do Adaptee, o Adapter
baseado em composicao consegue delegar chamadas de forma mais dinamica.
O padrao Adapter e considerado um padrao:
a) Criacional
b) Comportamental
c) Estrutural
d) Funcional
Resposta correta: c)
O Adapter e um padrao estrutural, pois esta relacionado a forma como as classes e objetos sao
compostos para formar estruturas maiores. Ele lida com a adaptacao de interfaces, permitindo que
componentes incompativeis trabalhem em conjunto.
Suponha que voce esta desenvolvendo um sistema de pagamento que usa um provedor externo
com uma API diferente da que seu sistema suporta. Qual padrao de projeto seria ideal nesse caso?
a) Singleton
b) Factory
c) Adapter
d) Observer
Resposta correta: c)
Ao lidar com APIs de terceiros cuja interface difere da usada internamente, o padrao Adapter e
ideal. Ele pode encapsular as chamadas da API externa e traduzi-las para a interface que o sistema
reconhece, evitando alteracoes no codigo existente.
Qual das afirmacoes abaixo melhor descreve a relacao entre o cliente, o Adapter e o Adaptee?
a) O cliente acessa diretamente o Adaptee, que por sua vez utiliza o Adapter
b) O Adapter acessa o cliente diretamente e passa os dados ao Adaptee
c) O cliente utiliza o Adapter, que encapsula o Adaptee e traduz as chamadas
d) O Adaptee traduz as chamadas do cliente e aciona o Adapter
Resposta correta: c)
O cliente interage com o Adapter como se fosse a interface original que ele espera. O Adapter, por
sua vez, redireciona essas chamadas para o Adaptee, traduzindo-as conforme necessario.
Qual beneficio o padrao Adapter pode trazer a manutencao de software?
a) Reducao da necessidade de testes automatizados
b) Aumento do tempo de execucao para validar entradas
c) Maior flexibilidade e reutilizacao de codigo legado
d) Menor necessidade de documentacao
Resposta correta: c)
O Adapter permite que codigo legado seja reutilizado com o minimo de alteracoes, adaptando sua
interface para novas demandas. Isso facilita a manutencao, pois evita modificacoes diretas em
codigo ja existente e testado.
Em qual situacao o uso do padrao Adapter pode ser desnecessario?
a) Quando ha diferenca de interface entre dois sistemas
b) Quando a interface de ambas as classes ja e compativel
c) Quando se esta utilizando bibliotecas de terceiros
d) Quando se busca uma solucao de baixo acoplamento
Resposta correta: b)
Se as interfaces ja sao compativeis, nao ha necessidade de adaptacao. O Adapter so e util quando
existe uma incompatibilidade entre a interface esperada e a interface fornecida.
Em projetos orientados a objetos, qual o risco de se abusar do padrao Adapter?
a) Diminuicao de performance por chamadas indiretas
b) Reducao da coesao entre classes
c) Confusao por excesso de camadas de abstracao
d) Todas as alternativas acima
Resposta correta: d)
Apesar de ser muito util, o uso excessivo de Adapters pode levar a complexidade desnecessaria,
reducao de performance, acoplamento indireto e dificuldade de compreensao do codigo,
principalmente em sistemas com muitas camadas de adaptacao.
O padrao Adapter pode ser usado em conjunto com outros padroes?a) Nao, ele deve ser usado isoladamente
b) Sim, frequentemente com padroes como Facade e Decorator
c) Apenas com padroes criacionais
d) Apenas com o padrao Singleton
Resposta correta: b)
E comum que o Adapter seja utilizado em conjunto com outros padroes, como o Facade, que
simplifica a interface de um subsistema, ou o Decorator, que adiciona responsabilidades
dinamicamente. Eles podem trabalhar juntos para compor sistemas mais flexiveis.
Qual linguagem de programacao abaixo possui suporte nativo para facilitar a criacao de Adapters?
a) Python, com sua tipagem dinamica
b) Assembly, por permitir controle total de hardware
c) HTML, por ser declarativa
d) SQL, por ser focada em bancos de dados
Resposta correta: a)
Python, com sua tipagem dinamica e suporte a duck typing, permite criar Adapters de maneira
muito mais flexivel e concisa, sem a rigidez das linguagens fortemente tipadas.
O que significa interface esperada pelo cliente no contexto do padrao Adapter?
a) A interface do Adaptee original
b) A interface que representa o padrao da aplicacao e com a qual o cliente ja trabalha
c) A interface da linguagem de programacao usada
d) A interface grafica do usuario
Resposta correta: b)
O cliente espera interagir com uma interface conhecida e padronizada. O Adapter entra em cena
quando o Adaptee possui uma interface diferente da esperada, funcionando como intermediario
para traduzir as chamadas.
Qual principio do SOLID esta mais relacionado ao uso de Adapter?
a) Principio da responsabilidade unica
b) Principio da substituicao de Liskov
c) Principio da inversao de dependencia
d) Principio do aberto/fechado
Resposta correta: d)
O Adapter respeita o principio do aberto/fechado, pois permite estender o comportamento de
classes existentes (por meio da adaptacao) sem alterar seu codigo-fonte.
Quando um Adapter e mal implementado, qual problema pode surgir?
a) Travamento do sistema operacional
b) Perda de abstracao e aumento do acoplamento
c) Duplicacao automatica de classes
d) Incompatibilidade com a linguagem de programacao
Resposta correta: b)
Um Adapter mal estruturado pode comprometer a arquitetura do sistema, aumentando o
acoplamento entre componentes, reduzindo a clareza do codigo e dificultando a manutencao e
evolucao da aplicacao.

Mais conteúdos dessa disciplina