Pular para o conteúdo principal

Questão de Arquitetura de Software — Padrões de projeto (Design Patterns) — CESGRANRIO 2012

Arquitetura de SoftwarePadrões de projeto (Design Patterns)
Código
cg049469
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2012
Nível
Superior
Cargo
Analista de Sistemas Júnior - Engenharia de Software
Deseja-se que uma aplicação possa manipular diferentes tipos de bancos de dados de modo transparente às classes que necessitam de serviços de acesso a dados. Inicialmente será necessário fornecer suporte a bancos de dados XML e SQL, entretanto novos tipos poderão ser futuramente adicionados.A solução proposta é a seguinte:1. Uma classe abstrata (DB) será responsável por instanciar um objeto correspondente ao tipo de banco de dados desejado. Isso será feito através do método estático getDB(), que irá retornar um objeto de uma de suas subclasses concretas, de acordo com o parâmetro (tipo) passado.2. O objeto criado no passo anterior irá instanciar conexões e consultas correspondentes ao tipo de DB criado; isto é, caso um DB XML tenha sido instanciado, apenas consultas XML e conexões XML serão instanciadas; caso um DB SQL tenha sido instanciado, apenas consultas SQL e conexões SQL serão instanciadas.O diagrama de classe a seguir ilustra a estrutura descrita acima.Imagem 033.jpgQual padrão de projeto foi utilizado na solução proposta?
  1. AAdapter
  2. BBuilder
  3. CComposite
  4. DAbstract Factory
  5. EChain of Responsibility
Revelar gabarito e comentário

GabaritoD — Abstract Factory

Link permanente: /questoes/cg049469