Download
observer n.
Skip this Video
Loading SlideShow in 5 Seconds..
Observer PowerPoint Presentation

Observer

116 Views Download Presentation
Download Presentation

Observer

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Observer Rusu Andrei Realizat de ToderasDragos Alexescu Diana

  2. Definitie • Reprezinta o relatie de dependentaintre un obiectnumitsubiectsi o multime de obiecte, numitalista de dependenti. Atuncicandsubiectulisimodificastarealista de dependentiesteactualizata in mod automat.

  3. Ceproblemerezolva • Cu ajutorulincapsulariiputemreutilizadouaobiectedintr-o abstractie care depindunul de celalalt in mod independent. • Se utilizeaza observer atuncicand un obiecttrebuiesaschimbesausasanotificealteobiectedar nu stiecatesau care suntacestea. • Nu se doreste ca douasaumaimulteobiectesa se afle in relatie de asociere.

  4. Participanti Subject • cunoasteobservatorii (numararbitrar) Observer • defineste o interfata de actualizare a obiectelorce • trebuienotificate de schimbareasubiectelor ConcreteSubject • memoreazastarea de interespentruobservatori • trimitenotificariobservatorilorprivind o schimbare ConcreteObserver • mentine o referinta la un obiectConcreteSubject • memoreazastarea care artrebuisa fie consistenta cu subiectii

  5. Diagrama de clase

  6. Exemplu cod #1 Class Subject : class Restaurant { Void adaugaObserver(Observer); Void stergeObserver(Observer); Void notificaObserver(); }; Class Observer : class Restaurant { Void autoUpdate(); }

  7. Exemplu cod #2 Class Restaurant { Restaurant(); Void Meniu(); adaugaObserver(Observer); stergeObserver(Observer); notificaObserver(Observer); }; Class chelner : Class Observer { Void servesteMeniu(); Void strangeMeniu(); Void autoUpdate(); }

  8. Subiect

  9. Subiect Non-Observer Observeri

  10. Subiect Pentru a deveni observer, clientultrebuiesasemnalezebucatarului ca vreasaapeleze la serviciilechelnerului

  11. Subiect Pentru a renunta la serviciilechelneruluiclientultrebuiesanotificebucatarul.

  12. Aplicabilitate in agenda • Spreexempluputemcreea o rubricanoua la un singur contact din agenda urmand ca apoiaceastarubricasa fie disponibilatuturorcontactelor. • Un alt exemplu al folosiriiobserveruluiesteatuncicand se adauga un contact nou in agenda siaceasta se actualizeazaplasandcontactul la grupulindicat.

  13. Sfarsit