Trabalho AV2 PPS

334 palavras 2 páginas
OBSERVER

Intenção

O Observer é um padrão de projeto que define uma independência um-para-muitos entre objetos de modo que quando um objeto muda de estado, todos os seus dependentes sejam notificados e atualizados automaticamente.

Ele permite que objetos interessados sejam avisados da mudança de estado ou outros eventos ocorrendo num outro objeto.

Motivação

Um objeto que possua agregações deve permitir que seus elementos sejam acessados sem que a estrutura interna seja exposta. De uma maneira geral pode-se desejar que estes elementos sejam percorridos em varias ordens.

Aplicabilidade

Usa-se o padrão Observer:

- Quando uma abstração apresenta dois aspectos, um depende do outro. Encapsulando estes aspectos em objetos separados permite que você os varie e reutilize de forma independente.

- Quando uma modificação em um objeto requer modificação em outro, e você não sabe (em tempo de programação) quantos objetos precisam ser modificados.

- Quando um objeto deve ser apto a notificar outros objetos sem saber quem são estes objetos. Em outras palavras, quando você os quer fracamente acoplados.

Exemplo Prático

Há uma construção onde existem vários operários. Uma sirene toca informando uma mudança de estado. O alarme da sirene é uma mensagem enviada aos observadores (funcionários), que pode ser um intervalo, término de expediente, etc.

UML

Código-Fonte

//INTERFACE SIRENE

public interface Sirene { public void adicionarObeservador ( Operario o ); public void removerObeservador ( Operario o );
}

//INTERFACE OPERARIO

public void Operario { public void atualizar ( Sirene s );
}

//CLASSE SIRENE CONCRETA

import java.util.ArryList; import java.util.Iterator;

public class SireneConcreta implements Sirene { private Boolean alertaSonoro = false; private ArrayList observadores = new ArrayList(); public void AlteraraAlerta() { if(alertaSonoro) alertaSonoro = false; else alertaSonoro = true;

Relacionados

  • Pedagogia
    2612 palavras | 11 páginas
  • direito Penal II AV2 J PARA O TOTAL
    8072 palavras | 33 páginas
  • 129861940345
    4617 palavras | 19 páginas
  • Investiga O De Campo Aula 1
    1041 palavras | 5 páginas
  • Qualidade de vida dos cuidadores informais de idosos dependentes em contexto domiciliário
    14616 palavras | 59 páginas
  • inovação
    1546 palavras | 7 páginas
  • Ppc Cst Em Marketing Ead Unesa
    121528 palavras | 487 páginas
  • Teoria civil
    11404 palavras | 46 páginas
  • T Cinicas E Exames Psicol Gicos I III TEP3
    1599 palavras | 7 páginas
  • amplificador
    14728 palavras | 59 páginas