SóProvas


ID
2298385
Banca
IF-PE
Órgão
IF-PE
Ano
2016
Provas
Disciplina
Arquitetura de Software
Assuntos

Observe as afirmativas abaixo:

I. Com frequência, equipes de desenvolvimento de software escrevem classes que proveem funcionalidades similares às de outras classes já existentes. Esse padrão se aplica a qualquer contexto em que se deseja implementar funcionalidades já implementadas em outra classe, mas com interface diferente da classe já implementada. Esse padrão define uma nova classe de maneira que ela contenha uma instância da classe velha como um atributo privado, e implemente cada método da nova classe usando métodos da classe antiga.

II. Fornece uma interface unificada para um conjunto de interfaces em um subsistema. Define uma interface de nível mais alto que torna o subsistema mais fácil de ser usado.

III. Define o esqueleto de um algoritmo em uma operação, postergando alguns passos para as subclasses. Permite que subclasses redefinam certos passos de um algoritmo sem mudar a estrutura do mesmo. Esse padrão pode ser usado para implementar as partes invariantes do algoritmo uma só vez e deixar para as subclasses a implementação do comportamento que pode variar.

IV. Evita o acoplamento do remetente de uma solicitação ao seu receptor ao dar a mais de um objeto a oportunidade de tratar a solicitação. Encadeia os objetos receptores, passando a solicitação ao longo da cadeia até que um objeto a trate. Esse padrão é utilizado quando mais de um objeto pode tratar uma solicitação e o objeto que a tratará não é conhecido a priori. O objeto que trata a solicitação é escolhido automaticamente.

V. Você começou a trabalhar em um projeto que utiliza tecnologia Java RMI. Nesse projeto, é implementado um padrão de projeto que provê um ponto através do qual um objeto controla o acesso a outro. No projeto em questão, um objeto remoto que contém a implementação real é acessado através de um outro objeto local, de forma que o objeto local controla o acesso ao remoto. Para isso, ambos possuem a mesma interface.  

As afirmativas acima descrevem, respectivamente, os seguintes padrões de projeto:

Alternativas
Comentários
  • Respondi essa questão por eliminação.

    Olhando as alternativas se repetem os padrões Adapter,Facade e Template Method(a,c e d).

    Refinando mais ainda as alternativas a e b ainda tem em comum o padrão Chain of responsability, ou seja, a resposta é a letra a ou b e nos falta descobrir sobre qual padrão a afirmação V fala.

    Decorator permite adicionar um comportamento a um objeto já existente em tempo de execução, ou seja, agrega dinamicamente responsabilidades adicionais a um objeto, portanto só pode ser proxy a resposta.

     

    Gabarito: Letra A.

  • I. ...funcionalidades já implementadas em outra classe, mas com interface diferente da classe já implementada... - Adapter

    II. ...subsistema mais fácil de ser usado - Facade

    III. Define o esqueleto de um algoritmo em uma operação... - Template Method

    IV. Encadeia os objetos receptores, passando a solicitação ao longo da cadeia até que ... - Chain of Responsibility

    V. ...o objeto local controla o acesso ao remoto... - Proxy

  • Respondi esta questão observando que o último Design Pattern de cada opção não se repetia. Como eles não se repetiam, bastava saber que a assertiva V estava associada ao Design Pattern Proxy. Nem foi necessário ler as demais assertivas (time os money) para acertar a questão (Para acertar, mas pra estudar e gravar eu li todas).