SóProvas


ID
2789659
Banca
CCV-UFC
Órgão
UFC
Ano
2016
Provas
Disciplina
Arquitetura de Software
Assuntos

Sobre os padrões de projeto, é correto afirmar que:

Alternativas
Comentários
  • Template Method (Esqueleto de algoritmo)

    Define o esqueleto de um algoritmo em uma operação, postergando a definição de alguns passos para subclasses.

  • Quem não tem acesso: --> B

  • A) Com o padrão Decorator, responsabilidade são estaticamente(dinamicamente) adicionadas ao objeto. Tais responsabilidade são definidas em tempo de compilação(execução). 


    C) objeto observador (Observer) sofre alguma alteração, o objeto observado (Subject) é notificado para realizar o processamento adequado(todos seus dependentes são notificados e atualizados automaticamente).


    D) Com o padrão Facade é possível acessar os componentes de um sistema complexo a partir de diversas interfaces diferentes, obtendo o acesso direto a componentes internos do sistema (Tipicamente envolve uma única classe responsável por englobar uma série de membros requeridos pelo cliente. Estes membros acessam o sistema em nome do Façade e escondem os detalhes de implementação) .


    E) O padrão Iterator fornece uma forma de acessar os elementos de uma estrutura de dados a partir da análise interna da estrutura utilizada para armazenar os objetos, sendo necessário conhecer o seu funcionamento (Usado para prover um modo de acessar elementos de uma coleção de objetos de forma sequencial, sem exposição das suas estruturas internas).


  • Acredito que o nosso colega Daniel se equivocou com a explicação sobre erro na alternativa C.

    A alternativa C está incorreta porque ela afirma que o observador (observer) avisa o observado (subject) quando sofre uma alteração. Na verdade, conforme a definição do padrão Observer, SOMENTE o observado avisa sobre alterações em seu estado.

    Padrão Observer: 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. (Elements of Reusable Object-Oriented Software, 1995)

  • Meu chará Fábio está correto, e meu Amigo Daniel apenas não identificou a troca de Observado por observador.

    C) No padrão Observer, quando o objeto observador (Observer) sofre alguma alteração, o objeto observado (Subject) é notificado para realizar o processamento adequado.

    correta:

    C) No padrão Observer, quando o objeto Observado sofre alguma alteração, o objeto Observador é notificado para realizar o processamento adequado.

    também estaria correto dizer que (todos seus dependentes são notificados e atualizados automaticamente)

    para melhor explicação veja o exemplo que achei em:

    https://www.devmedia.com.br/design-patterns-observer/16875

    "Para entendermos o padrão Observer, vamos pensar como funciona uma Editora (Observado) de jornal, eles tem uma lista de clientes (Observadores), quando sai uma nova publicação todos os observadores recebem uma copia do jornal, sendo que a qualquer momento um novo cliente(Observador) pode se registrar ou os clientes atuais cancelarem o registro." ...

    "Todas as classes que querem observar deve implementar a interface IObservador, lembra da ligação leve, muito bem essa é nossa ligação leve, o observador não sabe o observado faz e nem o observado sabe o que o observador faz, a única coisa que um sabe sobre o outro é que quando houver uma alteração no observado o observador vai ser notificado, isso vai ser feito pelo método “Update”.