SóProvas


ID
425140
Banca
COPEVE-UFAL
Órgão
UFAL
Ano
2011
Provas
Disciplina
Arquitetura de Software
Assuntos

O padrão Observer

Alternativas
Comentários
    • a) usa os gerenciadores de layout predefinidos para controlar a interface gráfica.(errado)
      Não tem ligação com GUI.
       
    • b) usa o conceito de ouvintes (listeners) para notificá-los quando algo acontece a sua fonte de eventos (um botão por exemplo). (errado)
      O padrão observer prega o uso do grasp low coupling, ou seja, objetos levemente ligados, interagem, mas conhecem muito pouco um do outro. O uso de listeners quebraria esse princípio, pois insere uma ligação mais forte. Os objetos tipo observer não são listeners. O relacionamento entre estes objetos (observer) e o objeto que notifica alteração de seu estado (subject) é de agregação. Não há um evento para listeners capturar. Outro princípio que é notado no padrão observer e que os listeners violam é o de hollywood (Don't call us, we'll call you), reforçando assim o conceito do baixo acoplamento.
      No link, abaixo há um bom exemplo do observer implementado em java.
      http://java-x.blogspot.com/2007/01/implementing-observer-pattern-in-java.html
    • c) provê o serviço publish/subscribe de notificação entre objetos. (correto)
      Observer:  Define uma dependência um-para-muitos entre objetos para que quando um objeto mudar de estado, todos os seus dependentes sejam notificados e atualizados automaticamente." [GoF]

      Quando vocês está tentando retratar o Padrão Observer, um serviço de assinatura de jornais com sua editora e seus assinantes (publish/subscribe) é uma boa maneira de visualizar o padrão.
       Use a Cabeça: Padrões de projeto
    • d) usa a arquitetura “modelo-visão-controlador” para manter a consistência entre várias visões de um mesmo objeto.(errado)
      O padrão observer pode ser inserido em um contexto maior que faz uso do MVC mas ele mesmo não utiliza essa arquitetura, pois como dito acima sua arquitetura é baseada no publish/subscribe, ou seja um escreve e vários lêem. 
    • e) é utilizado para a representação gráfica de um objeto.(errado)
      Não tem ligação com GUI.