1 / 22

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

CSC 313 – Advanced Programming Topics. Lecture 7: Observer Pattern –or– Lindsay Lohan, CSC Genius. Goals. Understand secret to how celebrities live Consider “talents” & if that keeps all our interest Look at how they live life in public without stalkers

wan
Télécharger la présentation

Lecture 7: 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 7:Observer Pattern –or– Lindsay Lohan, CSC Genius

  2. Goals • Understand secret to how celebrities live • Consider “talents” & if that keeps all our interest • Look at how they live life in public without stalkers • Communicate efficiently & see how it makes money • Understand the situations solved by Observers • What is intent of this design pattern? • In pattern, what represented by Subject&Observer?

  3. 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

  4. Something about Lindsay • Is it her singing?

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

  6. Something about Lindsay • Is it her singing? • Acting key to her success? • Her keen modeling skills?

  7. Something about Lindsay • Is it her singing? • Acting key to her success? • Her keen modeling skills? • Long, repeated, obvious public cries for help?

  8. Something about Lindsay • Is it her singing? • Acting key to her success? • Her keen modeling skills? • Long, repeated, obvious public cries for help? • No! Really due to her mastery of Observer Pattern!

  9. How Lindsay Does It • Millions interested in seeing this unfold • Every one of her painful, drug-addled mistakes • Every person she hits with her fists or her car • And, of course, what crime she will commit next • Could follow her to be around for each event • But may have job, school, or restraining orders • Lindsay uses Observer Pattern for attention & $$$

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

  11. 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

  12. 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

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

  14. 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

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

  16. 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 off probation, cover Kim Kardashian instead

  17. Observer Pattern Intent

  18. Observer Pattern Intent • Looks to handle 1-to-many communication • Observers track the state of some single object • Performance hit from repeat Subject checks avoided • Common script used to perform this work • Once ready, Observer registers with Subject • Subject notifies eachObserverif something happens • If updates not wanted, Observer can deregister itself • Checking for updates not needed with Observer • Limits work to be done, so avoids swamping system

  19. 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

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

  21. 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

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

More Related