observer

13
OBSERVER Rusu Andrei Realizat de Toderas Dragos Alexescu Diana

Upload: hadar

Post on 21-Jan-2016

30 views

Category:

Documents


0 download

DESCRIPTION

Observer. Rusu Andrei Realizat de Toderas Dragos Alexescu Diana. Definitie. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Observer

OBSERVER

Rusu Andrei

Realizat de Toderas Dragos

Alexescu Diana

Page 2: Observer

DEFINITIE

Reprezinta o relatie de dependenta intre un obiect numit subiect si o multime de obiecte, numita lista de dependenti. Atunci cand subiectul isi modifica starea lista de dependenti este actualizata in mod automat.

Page 3: Observer

CE PROBLEME REZOLVA Cu ajutorul incapsularii putem reutiliza

doua obiecte dintr-o abstractie care depind unul de celalalt in mod independent.

Se utilizeaza observer atunci cand un obiect trebuie sa schimbe sau sa sa notifice alte obiecte dar nu stie cate sau care sunt acestea.

Nu se doreste ca doua sau mai multe obiecte sa se afle in relatie de asociere.

Page 4: Observer

PARTICIPANTISubject cunoaste observatorii (numar arbitrar) Observer defineste o interfata de actualizare a obiectelor ce trebuie notificate de schimbarea subiectelor ConcreteSubject memoreaza starea de interes pentru observatori trimite notificari observatorilor privind o schimbare ConcreteObserver mentine o referinta la un obiect ConcreteSubject memoreaza starea care ar trebui sa fie consistenta cu subiectii

Page 5: Observer

DIAGRAMA DE CLASE

Page 6: Observer

EXEMPLU COD #1Class Subject : class Restaurant

{

Void adaugaObserver(Observer);

Void stergeObserver(Observer);

Void notificaObserver();

};

Class Observer : class Restaurant

{

Void autoUpdate();

}

Page 7: Observer

EXEMPLU COD #2Class Restaurant

{

Restaurant();

Void Meniu();

adaugaObserver(Observer);

stergeObserver(Observer);

notificaObserver(Observer);

};

Class chelner : Class Observer

{

Void servesteMeniu();

Void strangeMeniu();

Void autoUpdate();

}

Page 8: Observer

Subiect

Page 9: Observer

Subiect

Observeri

Non-Observer

Page 10: Observer

Subiect

Pent

ru a

dev

eni

obse

rver

, clie

ntul

trebu

ie sa

sem

nale

ze

buca

taru

lui c

a vr

ea sa

apel

eze

la ser

viciile

chel

neru

lui

Page 11: Observer

Subiect

Pentru

a renunta la

servici

ile ch

elnerului

clientul tr

ebuie sa

notifice

bucatarul.

Page 12: Observer

APLICABILITATE IN AGENDA Spre exemplu putem creea o rubrica

noua la un singur contact din agenda urmand ca apoi aceasta rubrica sa fie disponibila tuturor contactelor.

Un alt exemplu al folosirii observerului este atunci cand se adauga un contact nou in agenda si aceasta se actualizeaza plasand contactul la grupul indicat.

Page 13: Observer

SFARSIT