Filtrar


Questões por página:
Acerca dos padrões GRASP, julgue os itens a seguir.

Nos casos em que a solução oferecida pelo padrão Expert violar a alta coesão e o baixo acoplamento, o padrão adequado a ser aplicado será o Creator, que atribui um conjunto altamente coesivo de responsabilidades a uma classe artificial que não representa um conceito do domínio do problema.
Acerca dos padrões GRASP, julgue os itens a seguir.

O padrão Pure Fabrication objetiva designar a responsabilidade unívoca pela criação de uma nova instância de uma classe.

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.



Qual padrão de projeto foi utilizado na solução proposta?

Relacione os padrões de projeto às suas indicações de uso.

I - Ponte
II - Observador
III - Decorador
P - Mostra como adicionar responsabilidades aos objetos dinamicamente.

Q - Separa a abstração de um objeto de sua implementação.
R - Define e mantém dependência entre objetos.
S - Define um objeto que encapsula como um conjunto de objetos que interagem.

As associações corretas são:

Em uma aplicação para gerenciamento de currículos profissionais, deve haver uma funcionalidade para pesquisa (busca) por informações previamente registradas. Essa funcionalidade deve ser apresentada aos usuários como um formulário da interface gráfica da aplicação cuja composição deve ser diferente em cada uma das seguintes situações. Na primeira, o formulário deve apresentar ao usuário campos que permitam realizar buscas por empresas que oferecem vagas de emprego. Na segunda situação, o formulário deve apresentar campos para permitir aos usuários a realização de buscas por currículos de candidatos a vagas de emprego. O engenheiro de software, encarregado da implementação dessa funcionalidade, decidiu usar um padrão de projeto do catálogo GoF (Gang of Four). Esse padrão foi escolhido porque permite construir produtos com diferentes representações de tal forma que o mesmo processo de construção possa ser usado para criar diferentes produtos. No caso da funcionalidade descrita acima, os diferentes produtos a serem criados são as duas variantes do formulário de busca.

Dentre os listados abaixo, qual foi o padrão escolhido pelo engenheiro de software?