1 / 19

Lecture 6: Observer Pattern –or– Lindsay Lohan , CSC Genius

CSC 313 – Advanced Programming Topics. Lecture 6: Observer Pattern –or– Lindsay Lohan , CSC Genius. Lindsay Lohan Economy. Studies investigated economy of celebrities Direct earnings from movies, music, TV, ads Profits earned by her label, handlers, etc.

dior
Download Presentation

Lecture 6: Observer Pattern –or– Lindsay Lohan , CSC Genius

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. CSC 313 – Advanced Programming Topics Lecture 6:Observer Pattern –or– Lindsay Lohan, CSC Genius

  2. Lindsay Lohan Economy • Studies investigated economy of celebrities • Direct earnings from movies, music, TV, ads • Profits earned by her label, handlers, etc. • Photographers’ income for pictures on TMZ • When placed on cover, increase in magazine sales • $150+ million/year industry for top celebrity

  3. Something about Lindsay • Is it her singing?

  4. Something about Lindsay • Is it her singing? • Acting key to her success?

  5. Something about Lindsay • Is it her singing? • Acting key to her success? • Her keen fashion sense?

  6. Something about Lindsay • Is it her singing? • Acting key to her success? • Her keen fashion sense? • Long, slow, very public total breakdown?

  7. Something about Lindsay • Is it her singing? • Acting key to her success? • Her keen fashion sense? • Long, slow, very public total breakdown? • No! Really due to her mastery of Observer Pattern!

  8. How Lindsay Does It • Millions interested in seeing this unfold • Each and every mistake, • Every outburst that she makes, • And, of course, what or whom she is dating • Could follow her to be around for each event • But may have job, school, or restraining orders • Lindsay uses Observer Pattern for attention & $$$

  9. Observer Pattern • Observerswant update when subjectchanges • Must manage this 1:many relationship • Efficiently communicate all of these updates ConcreteSubject stateChanged() : booleansetChanged() : void

  10. Foundation of an Industry • Lindsay notifies paparazzi before going out • With notice, photographers go to her destination • Take incriminating pictures of her doing her thing • With pictures takes, paparazzi notify press • Some published in magazines & used on Dr. Phil • Others will get posted to blogs • “Private use” of individuals for some pictures • Entire crisis then unfolds for enquiring minds

  11. Textbook Observer Pattern • Readers sent Peoplewhen it is printed • Readersare observers • Subject is People magazine (in this case) • Whenever subject updated, observers notified • Magazines notified of picspaparazzi took • In this relationship, People is an observer • Subject is each photographer

  12. Textbook Observer Pattern • Paparazzi alerted by Lindsay before leaving • Lindsay is ultimate subject (& pattern master) • Observers in this relationship are Paparazzi

  13. True Genius • Very efficient way for Lindsay to get money • Also has benefit of limiting people following her • Readers notified of each and every change • In this adventure, readersobservers only • Lindsayonly a subject in this implementation • Magazines& photographersplay both roles • Observer Pattern mastered for this to work

  14. True Genius Observer Pattern == $$$ in my bank!

  15. Observer Is Hollywood • Hollywood Principle: Don’t Call Us, We’ll Call You • If observers were to ask constantly “Are we there yet? Are we there yet?” • Really slow when many observers exist • Principle says to have subject send alerts • Articles only after craziness on Lindsay’s part • When no DUIs, covers with Kate Gosselin instead

  16. Co-Dependent Relationships • UML class diagrams with cycles are problem • Two classes inseparable no matter what • Classes completely dependent on each other • Almost impossible to add or extend the design • Since both classes needed, reusing one impossible

  17. Replace Cycles With Observer • Cycle still in UML class diagram…

  18. Replace Cycles With Observer • Cycle still in UML class diagram… • … but now classes depend only on interfaces • Classes can be replaced at any time • Only requires that new class implement interface • Far easier to add or modify classes now

  19. For Next Lecture • Read pages 56 – 69 in book • Great… so how do we code the observer pattern? • Haven’t I seen this pattern before? • How is it actually written in the real world? • Is it really this simple and powerful?

More Related