1 / 13

Observer

Observer. Rusu Andrei Realizat de Toderas Dragos Alexescu Diana. Definitie.

hadar
Download Presentation

Observer

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

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

More Related