www.it-ebooks.info Chapter 1. Welcome to Design Patterns Table of Contents Chapter 1. Welcome to Design Patterns....................................................... 1 Section 1.1. It started with a simple SimUDuck app....................................................................................................................... 2 Section 1.2. But now we need the ducks to FLY............................................................................................................................. 3 Section 1.3. But something went horribly wrong........................................................................................................................... 4 Section 1.4. Joe thinks about inheritance....................................................................................................................................... 5 Section 1.5. Sharpen your pencil..................................................................................................................................................... 5 Section 1.6. How about an interface?............................................................................................................................................. 6 Section 1.7. What would you do if you were Joe?........................................................................................................................... 7 Section 1.8. The one constant in software development................................................................................................................ 8 Section 1.9. Sharpen your pencil.................................................................................................................................................... 8 Section 1.10. Zeroing in on the problem......................................................................................................................................... 9 Section 1.11. Separating what changes from what stays the same............................................................................................... 10 Section 1.12. Designing the Duck Behaviors.................................................................................................................................. 11 Section 1.13. Implementing the Duck Behaviors.......................................................................................................................... 13 Section 1.14. There are no Dumb Questions................................................................................................................................. 14 Section 1.15. Sharpen your pencil.................................................................................................................................................. 14 Section 1.16. Integrating the Duck Behavior................................................................................................................................. 15 Section 1.17. More Integration...................................................................................................................................................... 16 Section 1.18. Testing the Duck code.............................................................................................................................................. 18 Section 1.19. Setting behavior dynamically.................................................................................................................................. 20 Section 1.20. The Big Picture on encapsulated behaviors............................................................................................................ 22 Section 1.21. HAS-A can be better than IS-A................................................................................................................................ 23 Section 1.22. Speaking of Design Patterns................................................................................................................................... 24 Section 1.23. Design Puzzle........................................................................................................................................................... 25 Section 1.24. Overheard at the local diner.................................................................................................................................... 26 Section 1.25. Overheard in the next cubicle.................................................................................................................................. 27 Section 1.26. The power of a shared pattern vocabulary............................................................................................................. 28 Section 1.27. How do I use Design Patterns?............................................................................................................................... 29 Section 1.28. There are no Dumb Questions................................................................................................................................ 29 Section 1.29. Skeptical Developer-Friendly Patterns Guru......................................................................................................... 30 Section 1.30. Tools for your Design Toolbox................................................................................................................................ 32 Section 1.31. Design Puzzle Solution............................................................................................................................................ 34 Section 1.32. Solutions.................................................................................................................................................................. 35 Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra Prepared for Ann Cherkis, Safari ID: [email protected] ISBN: 0596007124 Publisher: O'Reilly Print Publication Date: 2004/10/25 User number: 1673621 Copyright 2008, Safari Books Online, LLC. This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that otherwise violates the Safari Terms of Service is strictly prohibited. www.it-ebooks.info Chapter 1. Welcome to Design Patterns Page 1 Return to Table of Contents (cid:20)(cid:3)(cid:3)(cid:73)(cid:110)(cid:116)(cid:114)(cid:111)(cid:32)(cid:116)(cid:111)(cid:32)(cid:68)(cid:101)(cid:115)(cid:105)(cid:103)(cid:110)(cid:32)(cid:80)(cid:97)(cid:116)(cid:116)(cid:101)(cid:114)(cid:110)(cid:115) (cid:53) (cid:58)(cid:72)(cid:79)(cid:70)(cid:82)(cid:80)(cid:72)(cid:3)(cid:87)(cid:82)(cid:3) (cid:52) (cid:52)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:39)(cid:72)(cid:86)(cid:76)(cid:74)(cid:81)(cid:3)(cid:51)(cid:68)(cid:87)(cid:87)(cid:72)(cid:85)(cid:81)(cid:86) (cid:49)(cid:82)(cid:90)(cid:3)(cid:87)(cid:75)(cid:68)(cid:87)(cid:3)(cid:90)(cid:72)(cid:183)(cid:85)(cid:72)(cid:3)(cid:79)(cid:76)(cid:89)(cid:76)(cid:81)(cid:74)(cid:3) (cid:76)(cid:81)(cid:3)(cid:50)(cid:69)(cid:77)(cid:72)(cid:70)(cid:87)(cid:89)(cid:76)(cid:79)(cid:79)(cid:72)(cid:15)(cid:3)(cid:90)(cid:72)(cid:183)(cid:89)(cid:72)(cid:3)(cid:77)(cid:88)(cid:86)(cid:87)(cid:3)(cid:74)(cid:82)(cid:87)(cid:3) (cid:87)(cid:82)(cid:3)(cid:74)(cid:72)(cid:87)(cid:3)(cid:76)(cid:81)(cid:87)(cid:82)(cid:3)(cid:39)(cid:72)(cid:86)(cid:76)(cid:74)(cid:81)(cid:3)(cid:51)(cid:68)(cid:87)(cid:87)(cid:72)(cid:85)(cid:81)(cid:86)(cid:17)(cid:17)(cid:17)(cid:3) (cid:72)(cid:89)(cid:72)(cid:85)(cid:92)(cid:82)(cid:81)(cid:72)(cid:3)(cid:76)(cid:86)(cid:3)(cid:71)(cid:82)(cid:76)(cid:81)(cid:74)(cid:3)(cid:87)(cid:75)(cid:72)(cid:80)(cid:17)(cid:3)(cid:3)(cid:54)(cid:82)(cid:82)(cid:81)(cid:3) (cid:90)(cid:72)(cid:183)(cid:79)(cid:79)(cid:3)(cid:69)(cid:72)(cid:3)(cid:87)(cid:75)(cid:72)(cid:3)(cid:75)(cid:76)(cid:87)(cid:3)(cid:82)(cid:73)(cid:3)(cid:45)(cid:76)(cid:80)(cid:3)(cid:68)(cid:81)(cid:71)(cid:3) (cid:37)(cid:72)(cid:87)(cid:87)(cid:92)(cid:183)(cid:86)(cid:3)(cid:58)(cid:72)(cid:71)(cid:81)(cid:72)(cid:86)(cid:71)(cid:68)(cid:92)(cid:3)(cid:81)(cid:76)(cid:74)(cid:75)(cid:87)(cid:3) (cid:83)(cid:68)(cid:87)(cid:87)(cid:72)(cid:85)(cid:81)(cid:86)(cid:3)(cid:74)(cid:85)(cid:82)(cid:88)(cid:83)(cid:4) (cid:54)(cid:82)(cid:80)(cid:72)(cid:82)(cid:81)(cid:72)(cid:3)(cid:75)(cid:68)(cid:86)(cid:3)(cid:68)(cid:79)(cid:85)(cid:72)(cid:68)(cid:71)(cid:92)(cid:3)(cid:86)(cid:82)(cid:79)(cid:89)(cid:72)(cid:71)(cid:3)(cid:92)(cid:82)(cid:88)(cid:85)(cid:3)(cid:83)(cid:85)(cid:82)(cid:69)(cid:79)(cid:72)(cid:80)(cid:86)(cid:17)(cid:3)(cid:44)(cid:81)(cid:3)(cid:87)(cid:75)(cid:76)(cid:86)(cid:3)(cid:70)(cid:75)(cid:68)(cid:83)(cid:87)(cid:72)(cid:85)(cid:15)(cid:3)(cid:92)(cid:82)(cid:88)(cid:182)(cid:79)(cid:79)(cid:3)(cid:79)(cid:72)(cid:68)(cid:85)(cid:81)(cid:3) (cid:90)(cid:75)(cid:92)(cid:3)(cid:11)(cid:68)(cid:81)(cid:71)(cid:3)(cid:75)(cid:82)(cid:90)(cid:12)(cid:3)(cid:92)(cid:82)(cid:88)(cid:3)(cid:70)(cid:68)(cid:81)(cid:3)(cid:72)(cid:91)(cid:83)(cid:79)(cid:82)(cid:76)(cid:87)(cid:3)(cid:87)(cid:75)(cid:72)(cid:3)(cid:90)(cid:76)(cid:86)(cid:71)(cid:82)(cid:80)(cid:3)(cid:68)(cid:81)(cid:71)(cid:3)(cid:79)(cid:72)(cid:86)(cid:86)(cid:82)(cid:81)(cid:86)(cid:3)(cid:79)(cid:72)(cid:68)(cid:85)(cid:81)(cid:72)(cid:71)(cid:3)(cid:69)(cid:92)(cid:3)(cid:82)(cid:87)(cid:75)(cid:72)(cid:85)(cid:3)(cid:71)(cid:72)(cid:89)(cid:72)(cid:79)(cid:82)(cid:83)(cid:72)(cid:85)(cid:86)(cid:3)(cid:90)(cid:75)(cid:82)(cid:182)(cid:89)(cid:72)(cid:3) (cid:69)(cid:72)(cid:72)(cid:81)(cid:3)(cid:71)(cid:82)(cid:90)(cid:81)(cid:3)(cid:87)(cid:75)(cid:72)(cid:3)(cid:86)(cid:68)(cid:80)(cid:72)(cid:3)(cid:71)(cid:72)(cid:86)(cid:76)(cid:74)(cid:81)(cid:3)(cid:83)(cid:85)(cid:82)(cid:69)(cid:79)(cid:72)(cid:80)(cid:3)(cid:85)(cid:82)(cid:68)(cid:71)(cid:3)(cid:68)(cid:81)(cid:71)(cid:3)(cid:86)(cid:88)(cid:85)(cid:89)(cid:76)(cid:89)(cid:72)(cid:71)(cid:3)(cid:87)(cid:75)(cid:72)(cid:3)(cid:87)(cid:85)(cid:76)(cid:83)(cid:17)(cid:3)(cid:37)(cid:72)(cid:73)(cid:82)(cid:85)(cid:72)(cid:3)(cid:90)(cid:72)(cid:182)(cid:85)(cid:72)(cid:3)(cid:71)(cid:82)(cid:81)(cid:72)(cid:15)(cid:3)(cid:90)(cid:72)(cid:182)(cid:79)(cid:79)(cid:3) (cid:79)(cid:82)(cid:82)(cid:78)(cid:3)(cid:68)(cid:87)(cid:3)(cid:87)(cid:75)(cid:72)(cid:3)(cid:88)(cid:86)(cid:72)(cid:3)(cid:68)(cid:81)(cid:71)(cid:3)(cid:69)(cid:72)(cid:81)(cid:72)(cid:191)(cid:3)(cid:87)(cid:86)(cid:3)(cid:82)(cid:73)(cid:3)(cid:71)(cid:72)(cid:86)(cid:76)(cid:74)(cid:81)(cid:3)(cid:83)(cid:68)(cid:87)(cid:87)(cid:72)(cid:85)(cid:81)(cid:86)(cid:15)(cid:3)(cid:79)(cid:82)(cid:82)(cid:78)(cid:3)(cid:68)(cid:87)(cid:3)(cid:86)(cid:82)(cid:80)(cid:72)(cid:3)(cid:78)(cid:72)(cid:92)(cid:3)(cid:50)(cid:50)(cid:3)(cid:71)(cid:72)(cid:86)(cid:76)(cid:74)(cid:81)(cid:3)(cid:83)(cid:85)(cid:76)(cid:81)(cid:70)(cid:76)(cid:83)(cid:79)(cid:72)(cid:86)(cid:15)(cid:3)(cid:68)(cid:81)(cid:71)(cid:3) (cid:90)(cid:68)(cid:79)(cid:78)(cid:3)(cid:87)(cid:75)(cid:85)(cid:82)(cid:88)(cid:74)(cid:75)(cid:3)(cid:68)(cid:81)(cid:3)(cid:72)(cid:91)(cid:68)(cid:80)(cid:83)(cid:79)(cid:72)(cid:3)(cid:82)(cid:73)(cid:3)(cid:75)(cid:82)(cid:90)(cid:3)(cid:82)(cid:81)(cid:72)(cid:3)(cid:83)(cid:68)(cid:87)(cid:87)(cid:72)(cid:85)(cid:81)(cid:3)(cid:90)(cid:82)(cid:85)(cid:78)(cid:86)(cid:17)(cid:3)(cid:55)(cid:75)(cid:72)(cid:3)(cid:69)(cid:72)(cid:86)(cid:87)(cid:3)(cid:90)(cid:68)(cid:92)(cid:3)(cid:87)(cid:82)(cid:3)(cid:88)(cid:86)(cid:72)(cid:3)(cid:83)(cid:68)(cid:87)(cid:87)(cid:72)(cid:85)(cid:81)(cid:86)(cid:3)(cid:76)(cid:86)(cid:3)(cid:87)(cid:82)(cid:3)(cid:79)(cid:82)(cid:68)(cid:71)(cid:3) (cid:92)(cid:82)(cid:88)(cid:85)(cid:3)(cid:69)(cid:85)(cid:68)(cid:76)(cid:81)(cid:3)(cid:90)(cid:76)(cid:87)(cid:75)(cid:3)(cid:87)(cid:75)(cid:72)(cid:80)(cid:3)(cid:68)(cid:81)(cid:71)(cid:3)(cid:87)(cid:75)(cid:72)(cid:81)(cid:3)(cid:85)(cid:72)(cid:70)(cid:82)(cid:74)(cid:81)(cid:76)(cid:93)(cid:72)(cid:3)(cid:83)(cid:79)(cid:68)(cid:70)(cid:72)(cid:86)(cid:3)(cid:76)(cid:81)(cid:3)(cid:92)(cid:82)(cid:88)(cid:85)(cid:3)(cid:71)(cid:72)(cid:86)(cid:76)(cid:74)(cid:81)(cid:86)(cid:3)(cid:68)(cid:81)(cid:71)(cid:3)(cid:72)(cid:91)(cid:76)(cid:86)(cid:87)(cid:76)(cid:81)(cid:74)(cid:3)(cid:68)(cid:83)(cid:83)(cid:79)(cid:76)(cid:70)(cid:68)(cid:87)(cid:76)(cid:82)(cid:81)(cid:86)(cid:3) (cid:90)(cid:75)(cid:72)(cid:85)(cid:72)(cid:3)(cid:92)(cid:82)(cid:88)(cid:3)(cid:70)(cid:68)(cid:81)(cid:3)(cid:68)(cid:83)(cid:83)(cid:79)(cid:92)(cid:3)(cid:87)(cid:75)(cid:72)(cid:80)(cid:17)(cid:3)(cid:44)(cid:81)(cid:86)(cid:87)(cid:72)(cid:68)(cid:71)(cid:3)(cid:82)(cid:73)(cid:3)(cid:70)(cid:82)(cid:71)(cid:72)(cid:3)(cid:85)(cid:72)(cid:88)(cid:86)(cid:72)(cid:15)(cid:3)(cid:90)(cid:76)(cid:87)(cid:75)(cid:3)(cid:83)(cid:68)(cid:87)(cid:87)(cid:72)(cid:85)(cid:81)(cid:86)(cid:3)(cid:92)(cid:82)(cid:88)(cid:3)(cid:74)(cid:72)(cid:87)(cid:3)(cid:72)(cid:91)(cid:83)(cid:72)(cid:85)(cid:76)(cid:72)(cid:81)(cid:70)(cid:72)(cid:3)(cid:85)(cid:72)(cid:88)(cid:86)(cid:72)(cid:17) (cid:87)(cid:75)(cid:76)(cid:86)(cid:3)(cid:76)(cid:86)(cid:3)(cid:68)(cid:3)(cid:81)(cid:72)(cid:90)(cid:3)(cid:70)(cid:75)(cid:68)(cid:83)(cid:87)(cid:72)(cid:85) (cid:20) Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra Prepared for Ann Cherkis, Safari ID: [email protected] ISBN: 0596007124 Publisher: O'Reilly Print Publication Date: 2004/10/25 User number: 1673621 Copyright 2008, Safari Books Online, LLC. This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that otherwise violates the Safari Terms of Service is strictly prohibited. www.it-ebooks.info Chapter 1. Welcome to Design Patterns Page 2 Return to Table of Contents (cid:54)(cid:76)(cid:80)(cid:56)(cid:39)(cid:88)(cid:70)(cid:78) (cid:49)(cid:92)(cid:3)(cid:91)(cid:92)(cid:73)(cid:90)(cid:92)(cid:77)(cid:76)(cid:3)(cid:95)(cid:81)(cid:92)(cid:80)(cid:3)(cid:73)(cid:3)(cid:91)(cid:81)(cid:85)(cid:88)(cid:84)(cid:77)(cid:3)(cid:59)(cid:81)(cid:85)(cid:61)(cid:44)(cid:93)(cid:75)(cid:83)(cid:3)(cid:73)(cid:88)(cid:88) (cid:50)(cid:87)(cid:77)(cid:3)(cid:95)(cid:87)(cid:90)(cid:83)(cid:91)(cid:3)(cid:78)(cid:87)(cid:90)(cid:3)(cid:73)(cid:3)(cid:75)(cid:87)(cid:85)(cid:88)(cid:73)(cid:86)(cid:97)(cid:3)(cid:92)(cid:80)(cid:73)(cid:92)(cid:3)(cid:85)(cid:73)(cid:83)(cid:77)(cid:91)(cid:3)(cid:73)(cid:3)(cid:80)(cid:81)(cid:79)(cid:80)(cid:84)(cid:97)(cid:3)(cid:91)(cid:93)(cid:75)(cid:75)(cid:77)(cid:91)(cid:91)(cid:78)(cid:93)(cid:84)(cid:3)(cid:76)(cid:93)(cid:75)(cid:83)(cid:3)(cid:88)(cid:87)(cid:86)(cid:76)(cid:3) (cid:91)(cid:81)(cid:85)(cid:93)(cid:84)(cid:73)(cid:92)(cid:81)(cid:87)(cid:86)(cid:3)(cid:79)(cid:73)(cid:85)(cid:77)(cid:20)(cid:3)(cid:59)(cid:3)(cid:81)(cid:85)(cid:61)(cid:44)(cid:93)(cid:75)(cid:83)(cid:22)(cid:3)(cid:3)(cid:60)(cid:80)(cid:77)(cid:3)(cid:79)(cid:73)(cid:85)(cid:77)(cid:3)(cid:75)(cid:73)(cid:86)(cid:3)(cid:91)(cid:80)(cid:87)(cid:95)(cid:3)(cid:73)(cid:3)(cid:84)(cid:73)(cid:90)(cid:79)(cid:77)(cid:3)(cid:94)(cid:73)(cid:90)(cid:81)(cid:77)(cid:92)(cid:97)(cid:3)(cid:87)(cid:78)(cid:3) (cid:76)(cid:93)(cid:75)(cid:83)(cid:3)(cid:91)(cid:88)(cid:77)(cid:75)(cid:81)(cid:77)(cid:91)(cid:3)(cid:91)(cid:95)(cid:81)(cid:85)(cid:85)(cid:81)(cid:86)(cid:79)(cid:3)(cid:73)(cid:86)(cid:76)(cid:3)(cid:85)(cid:73)(cid:83)(cid:81)(cid:86)(cid:79)(cid:3)(cid:89)(cid:93)(cid:73)(cid:75)(cid:83)(cid:81)(cid:86)(cid:79)(cid:3)(cid:91)(cid:87)(cid:93)(cid:86)(cid:76)(cid:91)(cid:22)(cid:3)(cid:3)(cid:60)(cid:80)(cid:77)(cid:3)(cid:81)(cid:86)(cid:81)(cid:92)(cid:81)(cid:73)(cid:84)(cid:3) (cid:76)(cid:77)(cid:91)(cid:81)(cid:79)(cid:86)(cid:77)(cid:90)(cid:91)(cid:3)(cid:87)(cid:78)(cid:3)(cid:92)(cid:80)(cid:77)(cid:3)(cid:91)(cid:97)(cid:91)(cid:92)(cid:77)(cid:85)(cid:3)(cid:93)(cid:91)(cid:77)(cid:76)(cid:3)(cid:91)(cid:92)(cid:73)(cid:86)(cid:76)(cid:73)(cid:90)(cid:76)(cid:3)(cid:55)(cid:55)(cid:3)(cid:92)(cid:77)(cid:75)(cid:80)(cid:86)(cid:81)(cid:89)(cid:93)(cid:77)(cid:91)(cid:3)(cid:73)(cid:86)(cid:76)(cid:3)(cid:75)(cid:90)(cid:77)(cid:73)(cid:92)(cid:77)(cid:76)(cid:3) (cid:87)(cid:86)(cid:77)(cid:3)(cid:44)(cid:93)(cid:75)(cid:83)(cid:3)(cid:91)(cid:93)(cid:88)(cid:77)(cid:90)(cid:75)(cid:84)(cid:73)(cid:91)(cid:91)(cid:3)(cid:78)(cid:90)(cid:87)(cid:85)(cid:3)(cid:95)(cid:80)(cid:81)(cid:75)(cid:80)(cid:3)(cid:73)(cid:84)(cid:84)(cid:3)(cid:87)(cid:92)(cid:80)(cid:77)(cid:90)(cid:3)(cid:76)(cid:93)(cid:75)(cid:83)(cid:3)(cid:92)(cid:97)(cid:88)(cid:77)(cid:91)(cid:3)(cid:81)(cid:86)(cid:80)(cid:77)(cid:90)(cid:81)(cid:92)(cid:22) (cid:39)(cid:88)(cid:70)(cid:78) (cid:36)(cid:79)(cid:79)(cid:3)(cid:71)(cid:88)(cid:70)(cid:78)(cid:86)(cid:3)(cid:84)(cid:88)(cid:68)(cid:70)(cid:78)(cid:3)(cid:68)(cid:81)(cid:71)(cid:3)(cid:86)(cid:90)(cid:76)(cid:80)(cid:15)(cid:3)(cid:87)(cid:75)(cid:72)(cid:3) (cid:84)(cid:88)(cid:68)(cid:70)(cid:78)(cid:11)(cid:12) (cid:86)(cid:88)(cid:83)(cid:72)(cid:85)(cid:70)(cid:79)(cid:68)(cid:86)(cid:86)(cid:3)(cid:87)(cid:68)(cid:78)(cid:72)(cid:86)(cid:3)(cid:70)(cid:68)(cid:85)(cid:72)(cid:3)(cid:82)(cid:73)(cid:3)(cid:87)(cid:75)(cid:72)(cid:3) (cid:86)(cid:90)(cid:76)(cid:80)(cid:11)(cid:12) (cid:76)(cid:80)(cid:83)(cid:79)(cid:72)(cid:80)(cid:72)(cid:81)(cid:87)(cid:68)(cid:87)(cid:76)(cid:82)(cid:81)(cid:3)(cid:70)(cid:82)(cid:71)(cid:72)(cid:17) (cid:71)(cid:76)(cid:86)(cid:83)(cid:79)(cid:68)(cid:92)(cid:11)(cid:12) (cid:55)(cid:75)(cid:72)(cid:3)(cid:71)(cid:76)(cid:86)(cid:83)(cid:79)(cid:68)(cid:92)(cid:11)(cid:12)(cid:3)(cid:80)(cid:72)(cid:87)(cid:75)(cid:82)(cid:71)(cid:3)(cid:76)(cid:86)(cid:3) (cid:18)(cid:18)(cid:3)(cid:50)(cid:55)(cid:43)(cid:40)(cid:53)(cid:3)(cid:71)(cid:88)(cid:70)(cid:78)(cid:16)(cid:79)(cid:76)(cid:78)(cid:72)(cid:3)(cid:80)(cid:72)(cid:87)(cid:75)(cid:82)(cid:71)(cid:86)(cid:17)(cid:17)(cid:17) (cid:68)(cid:86)(cid:69)(cid:88)(cid:69)(cid:86)(cid:87)(cid:87)(cid:85)(cid:92)(cid:68)(cid:83)(cid:70)(cid:72)(cid:87)(cid:86)(cid:3)(cid:15)(cid:3)(cid:79)(cid:82)(cid:86)(cid:76)(cid:82)(cid:81)(cid:78)(cid:70)(cid:3)(cid:72)(cid:71)(cid:3)(cid:76)(cid:68)(cid:73)(cid:79)(cid:79)(cid:73)(cid:3)(cid:72)(cid:71)(cid:85)(cid:88)(cid:72)(cid:70)(cid:81)(cid:78)(cid:87)(cid:3)(cid:17) (cid:40)(cid:76)(cid:86)(cid:68)(cid:76)(cid:3)(cid:70)(cid:80)(cid:85)(cid:71)(cid:75)(cid:76)(cid:72)(cid:83)(cid:3)(cid:73)(cid:79)(cid:86)(cid:86)(cid:71)(cid:87)(cid:82)(cid:72)(cid:83)(cid:83)(cid:79)(cid:88)(cid:85)(cid:75)(cid:80)(cid:82)(cid:3)(cid:68)(cid:70)(cid:72)(cid:81)(cid:72)(cid:3)(cid:92)(cid:75)(cid:78)(cid:86)(cid:81)(cid:86)(cid:11)(cid:76)(cid:3)(cid:82)(cid:86)(cid:12)(cid:87)(cid:70)(cid:69)(cid:90)(cid:76)(cid:79)(cid:3)(cid:88)(cid:85)(cid:3)(cid:81)(cid:72)(cid:69)(cid:69)(cid:76)(cid:72)(cid:3)(cid:74)(cid:72)(cid:72)(cid:87)(cid:87)(cid:3)(cid:73)(cid:75)(cid:76)(cid:3)(cid:81)(cid:92)(cid:17)(cid:79)(cid:82)(cid:68)(cid:87)(cid:83)(cid:82)(cid:85)(cid:89)(cid:86)(cid:72)(cid:76)(cid:82)(cid:3)(cid:3)(cid:3)(cid:82)(cid:78)(cid:82)(cid:85)(cid:86)(cid:90)(cid:3)(cid:3)(cid:81)(cid:82)(cid:3)(cid:81)(cid:3) (cid:71)(cid:18)(cid:18)(cid:76)(cid:3)(cid:86)(cid:79)(cid:82)(cid:83)(cid:82)(cid:79)(cid:68)(cid:78)(cid:48)(cid:92)(cid:86)(cid:11)(cid:68)(cid:3)(cid:12)(cid:79)(cid:76)(cid:79)(cid:3)(cid:78)(cid:79)(cid:94)(cid:68)(cid:72)(cid:3)(cid:85)(cid:68)(cid:71)(cid:3)(cid:39)(cid:80)(cid:88)(cid:68)(cid:79)(cid:70)(cid:79)(cid:68)(cid:78)(cid:85)(cid:71)(cid:3)(cid:96) (cid:71)(cid:18)(cid:18)(cid:76)(cid:3)(cid:86)(cid:79)(cid:82)(cid:83)(cid:82)(cid:53)(cid:79)(cid:68)(cid:78)(cid:72)(cid:92)(cid:86)(cid:11)(cid:3)(cid:71)(cid:12)(cid:79)(cid:76)(cid:3)(cid:75)(cid:78)(cid:94)(cid:72)(cid:72)(cid:3)(cid:68)(cid:68)(cid:3)(cid:71)(cid:85)(cid:72)(cid:39)(cid:71)(cid:88)(cid:75)(cid:70)(cid:72)(cid:78)(cid:68)(cid:71)(cid:3)(cid:96) (cid:47)(cid:76)(cid:81)(cid:82)(cid:75)(cid:87)(cid:72)(cid:86)(cid:85)(cid:3)(cid:76)(cid:82)(cid:87)(cid:73)(cid:3)(cid:73)(cid:3)(cid:82)(cid:85)(cid:87)(cid:82)(cid:75)(cid:80)(cid:72)(cid:3)(cid:85)(cid:87)(cid:3)(cid:75)(cid:87)(cid:72)(cid:92)(cid:3)(cid:83)(cid:39)(cid:72)(cid:86)(cid:88)(cid:3)(cid:70)(cid:82)(cid:78)(cid:73)(cid:3)(cid:3)(cid:70)(cid:71)(cid:79)(cid:68)(cid:88)(cid:86)(cid:70)(cid:86)(cid:78)(cid:17)(cid:3)(cid:86)(cid:3) (cid:49)(cid:86)(cid:3)(cid:92)(cid:80)(cid:77)(cid:3)(cid:84)(cid:73)(cid:91)(cid:92)(cid:3)(cid:97)(cid:77)(cid:73)(cid:90)(cid:20)(cid:3)(cid:92)(cid:80)(cid:77)(cid:3)(cid:75)(cid:87)(cid:85)(cid:88)(cid:73)(cid:86)(cid:97)(cid:3)(cid:80)(cid:73)(cid:91)(cid:3)(cid:74)(cid:77)(cid:77)(cid:86)(cid:3)(cid:93)(cid:86)(cid:76)(cid:77)(cid:90)(cid:3)(cid:81)(cid:86)(cid:75)(cid:90)(cid:77)(cid:73)(cid:91)(cid:81)(cid:86)(cid:79)(cid:3)(cid:88)(cid:90)(cid:77)(cid:91)(cid:91)(cid:93)(cid:90)(cid:77)(cid:3) (cid:78)(cid:90)(cid:87)(cid:85)(cid:3)(cid:75)(cid:87)(cid:85)(cid:88)(cid:77)(cid:92)(cid:81)(cid:92)(cid:87)(cid:90)(cid:91)(cid:22)(cid:3)(cid:3)(cid:41)(cid:78)(cid:92)(cid:77)(cid:90)(cid:3)(cid:73)(cid:3)(cid:95)(cid:77)(cid:77)(cid:83)(cid:3)(cid:84)(cid:87)(cid:86)(cid:79)(cid:3)(cid:87)(cid:78)(cid:78)(cid:21)(cid:91)(cid:81)(cid:92)(cid:77)(cid:3)(cid:74)(cid:90)(cid:73)(cid:81)(cid:86)(cid:91)(cid:92)(cid:87)(cid:90)(cid:85)(cid:81)(cid:86)(cid:79)(cid:3) (cid:91)(cid:77)(cid:91)(cid:91)(cid:81)(cid:87)(cid:86)(cid:3)(cid:87)(cid:94)(cid:77)(cid:90)(cid:3)(cid:79)(cid:87)(cid:84)(cid:78)(cid:20)(cid:3)(cid:92)(cid:80)(cid:77)(cid:3)(cid:75)(cid:87)(cid:85)(cid:88)(cid:73)(cid:86)(cid:97)(cid:3)(cid:77)(cid:96)(cid:77)(cid:75)(cid:93)(cid:92)(cid:81)(cid:94)(cid:77)(cid:91)(cid:3)(cid:92)(cid:80)(cid:81)(cid:86)(cid:83)(cid:3)(cid:81)(cid:92)(cid:188)(cid:91)(cid:3)(cid:92)(cid:81)(cid:85)(cid:77)(cid:3)(cid:78)(cid:87)(cid:90)(cid:3)(cid:73)(cid:3)(cid:74)(cid:81)(cid:79)(cid:3) (cid:81)(cid:86)(cid:86)(cid:87)(cid:94)(cid:73)(cid:92)(cid:81)(cid:87)(cid:86)(cid:22)(cid:3)(cid:60)(cid:80)(cid:77)(cid:97)(cid:3)(cid:86)(cid:77)(cid:77)(cid:76)(cid:3)(cid:91)(cid:87)(cid:85)(cid:77)(cid:92)(cid:80)(cid:81)(cid:86)(cid:79)(cid:3)(cid:90)(cid:77)(cid:73)(cid:84)(cid:84)(cid:97)(cid:3)(cid:81)(cid:85)(cid:88)(cid:90)(cid:77)(cid:91)(cid:91)(cid:81)(cid:94)(cid:77)(cid:3)(cid:92)(cid:87)(cid:3)(cid:91)(cid:80)(cid:87)(cid:95)(cid:3)(cid:73)(cid:92)(cid:3)(cid:92)(cid:80)(cid:77)(cid:3) (cid:93)(cid:88)(cid:75)(cid:87)(cid:85)(cid:81)(cid:86)(cid:79)(cid:3)(cid:91)(cid:80)(cid:73)(cid:90)(cid:77)(cid:80)(cid:87)(cid:84)(cid:76)(cid:77)(cid:90)(cid:91)(cid:3)(cid:85)(cid:77)(cid:77)(cid:92)(cid:81)(cid:86)(cid:79)(cid:3)(cid:81)(cid:86)(cid:3)(cid:53)(cid:73)(cid:93)(cid:81)(cid:3)(cid:86)(cid:77)(cid:96)(cid:92)(cid:3)(cid:95)(cid:77)(cid:77)(cid:83)(cid:22) (cid:21)(cid:3) (cid:38)(cid:75)(cid:68)(cid:83)(cid:87)(cid:72)(cid:85)(cid:3)(cid:20) Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra Prepared for Ann Cherkis, Safari ID: [email protected] ISBN: 0596007124 Publisher: O'Reilly Print Publication Date: 2004/10/25 User number: 1673621 Copyright 2008, Safari Books Online, LLC. This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that otherwise violates the Safari Terms of Service is strictly prohibited. www.it-ebooks.info Chapter 1. Welcome to Design Patterns Page 3 Return to Table of Contents (cid:76)(cid:81)(cid:87)(cid:85)(cid:82)(cid:3)(cid:87)(cid:82)(cid:3)(cid:39)(cid:72)(cid:86)(cid:76)(cid:74)(cid:81)(cid:3)(cid:51)(cid:68)(cid:87)(cid:87)(cid:72)(cid:85)(cid:81)(cid:86) (cid:42)(cid:93)(cid:92)(cid:3)(cid:86)(cid:87)(cid:95)(cid:3)(cid:95)(cid:77)(cid:3)(cid:86)(cid:77)(cid:77)(cid:76)(cid:3)(cid:92)(cid:80)(cid:77)(cid:3)(cid:76)(cid:93)(cid:75)(cid:83)(cid:91)(cid:3)(cid:92)(cid:87)(cid:3)(cid:46)(cid:52)(cid:65) (cid:60)(cid:80)(cid:77)(cid:3)(cid:77)(cid:96)(cid:77)(cid:75)(cid:93)(cid:92)(cid:81)(cid:94)(cid:77)(cid:91)(cid:3)(cid:76)(cid:77)(cid:75)(cid:81)(cid:76)(cid:77)(cid:76)(cid:3)(cid:92)(cid:80)(cid:73)(cid:92)(cid:3)(cid:198)(cid:3)(cid:97)(cid:81)(cid:86)(cid:79)(cid:3)(cid:76)(cid:93)(cid:75)(cid:83)(cid:91)(cid:3)(cid:81)(cid:91)(cid:3)(cid:82)(cid:93)(cid:91)(cid:92)(cid:3)(cid:95)(cid:80)(cid:73)(cid:92)(cid:3)(cid:92)(cid:80)(cid:77)(cid:3) (cid:91)(cid:81)(cid:85)(cid:93)(cid:84)(cid:73)(cid:92)(cid:87)(cid:90)(cid:3)(cid:86)(cid:77)(cid:77)(cid:76)(cid:91)(cid:3)(cid:92)(cid:87)(cid:3)(cid:74)(cid:84)(cid:87)(cid:95)(cid:3)(cid:73)(cid:95)(cid:73)(cid:97)(cid:3)(cid:92)(cid:80)(cid:77)(cid:3)(cid:87)(cid:92)(cid:80)(cid:77)(cid:90)(cid:3)(cid:76)(cid:93)(cid:75)(cid:83)(cid:3)(cid:91)(cid:81)(cid:85)(cid:3)(cid:75)(cid:87)(cid:85)(cid:88)(cid:77)(cid:92)(cid:81)(cid:92)(cid:87)(cid:90)(cid:91)(cid:22)(cid:3) (cid:41)(cid:86)(cid:76)(cid:3)(cid:87)(cid:78)(cid:3)(cid:75)(cid:87)(cid:93)(cid:90)(cid:91)(cid:77)(cid:3)(cid:50)(cid:87)(cid:77)(cid:188)(cid:91)(cid:3)(cid:85)(cid:73)(cid:86)(cid:73)(cid:79)(cid:77)(cid:90)(cid:3)(cid:92)(cid:87)(cid:84)(cid:76)(cid:3)(cid:92)(cid:80)(cid:77)(cid:85)(cid:3)(cid:81)(cid:92)(cid:188)(cid:84)(cid:84)(cid:3)(cid:74)(cid:77)(cid:3)(cid:86)(cid:87)(cid:3)(cid:88)(cid:90)(cid:87)(cid:74)(cid:84)(cid:77)(cid:85)(cid:3) (cid:78)(cid:87)(cid:90)(cid:3)(cid:50)(cid:87)(cid:77)(cid:3)(cid:92)(cid:87)(cid:3)(cid:82)(cid:93)(cid:91)(cid:92)(cid:3)(cid:95)(cid:80)(cid:81)(cid:88)(cid:3)(cid:91)(cid:87)(cid:85)(cid:77)(cid:92)(cid:80)(cid:81)(cid:86)(cid:79)(cid:3)(cid:93)(cid:88)(cid:3)(cid:81)(cid:86)(cid:3)(cid:73)(cid:3)(cid:95)(cid:77)(cid:77)(cid:83)(cid:22)(cid:3)(cid:185)(cid:41)(cid:78)(cid:92)(cid:77)(cid:90)(cid:3)(cid:73)(cid:84)(cid:84)(cid:186)(cid:20)(cid:3)(cid:91)(cid:73)(cid:81)(cid:76)(cid:3) (cid:44)(cid:3)(cid:77)(cid:88)(cid:86)(cid:87)(cid:3)(cid:81)(cid:72)(cid:72)(cid:71)(cid:3)(cid:87)(cid:82)(cid:3)(cid:68)(cid:71)(cid:71)(cid:3)(cid:68)(cid:3)(cid:193)(cid:3)(cid:92)(cid:11)(cid:12)(cid:3) (cid:50)(cid:87)(cid:77)(cid:188)(cid:91)(cid:3)(cid:74)(cid:87)(cid:91)(cid:91)(cid:20)(cid:3)(cid:185)(cid:80)(cid:77)(cid:188)(cid:91)(cid:3)(cid:73)(cid:86)(cid:3)(cid:55)(cid:55)(cid:3)(cid:88)(cid:90)(cid:87)(cid:79)(cid:90)(cid:73)(cid:85)(cid:85)(cid:77)(cid:90)(cid:22)(cid:22)(cid:22)(cid:3)(cid:80)(cid:87)(cid:95)(cid:3)(cid:80)(cid:73)(cid:90)(cid:76)(cid:3)(cid:75)(cid:73)(cid:86)(cid:3)(cid:81)(cid:92)(cid:3)(cid:74)(cid:77)(cid:39)(cid:186) (cid:80)(cid:72)(cid:87)(cid:75)(cid:82)(cid:71)(cid:3)(cid:76)(cid:81)(cid:3)(cid:87)(cid:75)(cid:72)(cid:3)(cid:39)(cid:88)(cid:70)(cid:78)(cid:3)(cid:70)(cid:79)(cid:68)(cid:86)(cid:86)(cid:3)(cid:68)(cid:81)(cid:71)(cid:3) (cid:87)(cid:75)(cid:72)(cid:81)(cid:3)(cid:68)(cid:79)(cid:79)(cid:3)(cid:87)(cid:75)(cid:72)(cid:3)(cid:71)(cid:88)(cid:70)(cid:78)(cid:86)(cid:3)(cid:90)(cid:76)(cid:79)(cid:79)(cid:3)(cid:76)(cid:81)(cid:75)(cid:72)(cid:85)(cid:76)(cid:87)(cid:3)(cid:76)(cid:87)(cid:17)(cid:3) (cid:49)(cid:82)(cid:90)(cid:183)(cid:86)(cid:3)(cid:80)(cid:92)(cid:3)(cid:87)(cid:76)(cid:80)(cid:72)(cid:3)(cid:87)(cid:82)(cid:3)(cid:85)(cid:72)(cid:68)(cid:79)(cid:79)(cid:92)(cid:3)(cid:86)(cid:75)(cid:82)(cid:90)(cid:3)(cid:80)(cid:92)(cid:3) (cid:87)(cid:85)(cid:88)(cid:72)(cid:3)(cid:50)(cid:50)(cid:3)(cid:74)(cid:72)(cid:81)(cid:76)(cid:88)(cid:86)(cid:17) (cid:45)(cid:82)(cid:72) (cid:58)(cid:75)(cid:68)(cid:87)(cid:3)(cid:90)(cid:72)(cid:3)(cid:90)(cid:68)(cid:81)(cid:87)(cid:17) (cid:39)(cid:88)(cid:70)(cid:78) (cid:84)(cid:88)(cid:68)(cid:70)(cid:78)(cid:11)(cid:12) (cid:86)(cid:90)(cid:76)(cid:80)(cid:11)(cid:12) (cid:36)(cid:76)(cid:79)(cid:79)(cid:81)(cid:3)(cid:75)(cid:86)(cid:72)(cid:88)(cid:85)(cid:69)(cid:76)(cid:70)(cid:87)(cid:79)(cid:3)(cid:68)(cid:86)(cid:73)(cid:79)(cid:86)(cid:92)(cid:72)(cid:11)(cid:86)(cid:12)(cid:3)(cid:17) (cid:71)(cid:73)(cid:18)(cid:18)(cid:79)(cid:76)(cid:3)(cid:86)(cid:92)(cid:50)(cid:83)(cid:11)(cid:55)(cid:79)(cid:12)(cid:68)(cid:43)(cid:92)(cid:40)(cid:11)(cid:12)(cid:53)(cid:3)(cid:71)(cid:88)(cid:70)(cid:78)(cid:16)(cid:79)(cid:76)(cid:78)(cid:72)(cid:3)(cid:80)(cid:72)(cid:87)(cid:75)(cid:82)(cid:71)(cid:86)(cid:17)(cid:17)(cid:17) (cid:58)(cid:75)(cid:68)(cid:87)(cid:3)(cid:45)(cid:82)(cid:72)(cid:3)(cid:68)(cid:71)(cid:71)(cid:72)(cid:71)(cid:17) (cid:48)(cid:68)(cid:79)(cid:79)(cid:68)(cid:85)(cid:71)(cid:39)(cid:88)(cid:70)(cid:78) (cid:53)(cid:72)(cid:71)(cid:75)(cid:72)(cid:68)(cid:71)(cid:39)(cid:88)(cid:70)(cid:78) (cid:50)(cid:87)(cid:75)(cid:72)(cid:85)(cid:3)(cid:39)(cid:88)(cid:70)(cid:78)(cid:3)(cid:87)(cid:92)(cid:83)(cid:72)(cid:86)(cid:17)(cid:17)(cid:17)(cid:3) (cid:71)(cid:76)(cid:86)(cid:83)(cid:79)(cid:68)(cid:92)(cid:11)(cid:12)(cid:3)(cid:94) (cid:71)(cid:76)(cid:86)(cid:83)(cid:79)(cid:68)(cid:92)(cid:11)(cid:12)(cid:3)(cid:94) (cid:18)(cid:18)(cid:3)(cid:79)(cid:82)(cid:82)(cid:78)(cid:86)(cid:3)(cid:79)(cid:76)(cid:78)(cid:72)(cid:3)(cid:68)(cid:3)(cid:80)(cid:68)(cid:79)(cid:79)(cid:68)(cid:85)(cid:71)(cid:3)(cid:96) (cid:18)(cid:18)(cid:3)(cid:79)(cid:82)(cid:82)(cid:78)(cid:86)(cid:3)(cid:79)(cid:76)(cid:78)(cid:72)(cid:3)(cid:68)(cid:3)(cid:85)(cid:72)(cid:71)(cid:75)(cid:72)(cid:68)(cid:71)(cid:3)(cid:96) (cid:92)(cid:82)(cid:88)(cid:3)(cid:68)(cid:85)(cid:72)(cid:3)(cid:75)(cid:72)(cid:85)(cid:72)(cid:3)(cid:23) (cid:22) Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra Prepared for Ann Cherkis, Safari ID: [email protected] ISBN: 0596007124 Publisher: O'Reilly Print Publication Date: 2004/10/25 User number: 1673621 Copyright 2008, Safari Books Online, LLC. This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that otherwise violates the Safari Terms of Service is strictly prohibited. www.it-ebooks.info Chapter 1. Welcome to Design Patterns Page 4 Return to Table of Contents (cid:86)(cid:82)(cid:80)(cid:72)(cid:87)(cid:75)(cid:76)(cid:81)(cid:74)(cid:3)(cid:90)(cid:72)(cid:81)(cid:87)(cid:3)(cid:90)(cid:85)(cid:82)(cid:81)(cid:74) (cid:42)(cid:93)(cid:92)(cid:3)(cid:91)(cid:87)(cid:85)(cid:77)(cid:92)(cid:80)(cid:81)(cid:86)(cid:79)(cid:3)(cid:95)(cid:77)(cid:86)(cid:92)(cid:3)(cid:80)(cid:87)(cid:90)(cid:90)(cid:81)(cid:74)(cid:84)(cid:97)(cid:3)(cid:95)(cid:90)(cid:87)(cid:86)(cid:79)(cid:22)(cid:22)(cid:22) (cid:45)(cid:82)(cid:72)(cid:15)(cid:3)(cid:44)(cid:183)(cid:80)(cid:3)(cid:68)(cid:87)(cid:3)(cid:87)(cid:75)(cid:72)(cid:3) (cid:86)(cid:75)(cid:68)(cid:85)(cid:72)(cid:75)(cid:82)(cid:79)(cid:71)(cid:72)(cid:85)(cid:183)(cid:86)(cid:3)(cid:80)(cid:72)(cid:72)(cid:87)(cid:76)(cid:81)(cid:74)(cid:17)(cid:3)(cid:3) (cid:55)(cid:75)(cid:72)(cid:92)(cid:3)(cid:77)(cid:88)(cid:86)(cid:87)(cid:3)(cid:74)(cid:68)(cid:89)(cid:72)(cid:3)(cid:68)(cid:3)(cid:71)(cid:72)(cid:80)(cid:82)(cid:3)(cid:68)(cid:81)(cid:71)(cid:3)(cid:87)(cid:75)(cid:72)(cid:85)(cid:72)(cid:3) (cid:90)(cid:72)(cid:85)(cid:72)(cid:3)(cid:85)(cid:88)(cid:69)(cid:69)(cid:72)(cid:85)(cid:3)(cid:71)(cid:88)(cid:70)(cid:78)(cid:76)(cid:72)(cid:86)(cid:3)(cid:193)(cid:3)(cid:92)(cid:76)(cid:81)(cid:74)(cid:3)(cid:68)(cid:85)(cid:82)(cid:88)(cid:81)(cid:71)(cid:3) (cid:87)(cid:75)(cid:72)(cid:3)(cid:86)(cid:70)(cid:85)(cid:72)(cid:72)(cid:81)(cid:17)(cid:3)(cid:58)(cid:68)(cid:86)(cid:3)(cid:87)(cid:75)(cid:76)(cid:86)(cid:3)(cid:92)(cid:82)(cid:88)(cid:85)(cid:3)(cid:76)(cid:71)(cid:72)(cid:68)(cid:3)(cid:82)(cid:73)(cid:3) (cid:68)(cid:3)(cid:77)(cid:82)(cid:78)(cid:72)(cid:34)(cid:3)(cid:60)(cid:82)(cid:88)(cid:3)(cid:80)(cid:76)(cid:74)(cid:75)(cid:87)(cid:3)(cid:90)(cid:68)(cid:81)(cid:87)(cid:3)(cid:87)(cid:82)(cid:3)(cid:86)(cid:83)(cid:72)(cid:81)(cid:71)(cid:3) (cid:86)(cid:82)(cid:80)(cid:72)(cid:3)(cid:87)(cid:76)(cid:80)(cid:72)(cid:3)(cid:82)(cid:81)(cid:3)(cid:48)(cid:82)(cid:81)(cid:86)(cid:87)(cid:72)(cid:85)(cid:17)(cid:70)(cid:82)(cid:80)(cid:17)(cid:17)(cid:17) (cid:58)(cid:75)(cid:68)(cid:87)(cid:3)(cid:75)(cid:68)(cid:83)(cid:83)(cid:72)(cid:81)(cid:72)(cid:71)(cid:34)(cid:3)(cid:3) (cid:50)(cid:87)(cid:77)(cid:3)(cid:78)(cid:73)(cid:81)(cid:84)(cid:77)(cid:76)(cid:3)(cid:92)(cid:87)(cid:3)(cid:86)(cid:87)(cid:92)(cid:81)(cid:75)(cid:77)(cid:3)(cid:92)(cid:80)(cid:73)(cid:92)(cid:3)(cid:86)(cid:87)(cid:92)(cid:3)(cid:73)(cid:84)(cid:84)(cid:3) (cid:50)(cid:46)(cid:15)(cid:3)(cid:86)(cid:82)(cid:3)(cid:87)(cid:75)(cid:72)(cid:85)(cid:72)(cid:183)(cid:86)(cid:3)(cid:68)(cid:3)(cid:86)(cid:79)(cid:76)(cid:74)(cid:75)(cid:87)(cid:3) (cid:91)(cid:93)(cid:74)(cid:75)(cid:84)(cid:73)(cid:91)(cid:91)(cid:77)(cid:91)(cid:3)(cid:87)(cid:78)(cid:3)(cid:44)(cid:93)(cid:75)(cid:83)(cid:3)(cid:91)(cid:80)(cid:87)(cid:93)(cid:84)(cid:76)(cid:3)(cid:198)(cid:3)(cid:97)(cid:22)(cid:3)(cid:63)(cid:80)(cid:77)(cid:86)(cid:3) (cid:193)(cid:3)(cid:68)(cid:90)(cid:3)(cid:76)(cid:81)(cid:3)(cid:80)(cid:92)(cid:3)(cid:71)(cid:72)(cid:86)(cid:76)(cid:74)(cid:81)(cid:17)(cid:3)(cid:44)(cid:3) (cid:50)(cid:87)(cid:77)(cid:3)(cid:73)(cid:76)(cid:76)(cid:77)(cid:76)(cid:3)(cid:86)(cid:77)(cid:95)(cid:3)(cid:74)(cid:77)(cid:80)(cid:73)(cid:94)(cid:81)(cid:87)(cid:90)(cid:3)(cid:92)(cid:87)(cid:3)(cid:92)(cid:80)(cid:77)(cid:3) (cid:71)(cid:82)(cid:81)(cid:183)(cid:87)(cid:3)(cid:86)(cid:72)(cid:72)(cid:3)(cid:90)(cid:75)(cid:92)(cid:3)(cid:87)(cid:75)(cid:72)(cid:92)(cid:3)(cid:70)(cid:68)(cid:81)(cid:183)(cid:87)(cid:3) (cid:44)(cid:93)(cid:75)(cid:83)(cid:3)(cid:91)(cid:93)(cid:88)(cid:77)(cid:90)(cid:75)(cid:84)(cid:73)(cid:91)(cid:91)(cid:20)(cid:3)(cid:80)(cid:77)(cid:3)(cid:95)(cid:73)(cid:91)(cid:3)(cid:73)(cid:84)(cid:91)(cid:87)(cid:3)(cid:73)(cid:76)(cid:76)(cid:81)(cid:86)(cid:79)(cid:3) (cid:77)(cid:88)(cid:86)(cid:87)(cid:3)(cid:70)(cid:68)(cid:79)(cid:79)(cid:3)(cid:76)(cid:87)(cid:3)(cid:68)(cid:3)(cid:180)(cid:73)(cid:72)(cid:68)(cid:87)(cid:88)(cid:85)(cid:72)(cid:181)(cid:17)(cid:3) (cid:74)(cid:77)(cid:80)(cid:73)(cid:94)(cid:81)(cid:87)(cid:90)(cid:3)(cid:92)(cid:80)(cid:73)(cid:92)(cid:3)(cid:95)(cid:73)(cid:91)(cid:3)(cid:86)(cid:87)(cid:92)(cid:3)(cid:73)(cid:88)(cid:88)(cid:90)(cid:87)(cid:88)(cid:90)(cid:81)(cid:73)(cid:92)(cid:77)(cid:3) (cid:44)(cid:87)(cid:183)(cid:86)(cid:3)(cid:78)(cid:76)(cid:81)(cid:71)(cid:3)(cid:82)(cid:73)(cid:3)(cid:70)(cid:88)(cid:87)(cid:72)(cid:17)(cid:17)(cid:17) (cid:78)(cid:87)(cid:90)(cid:3)(cid:91)(cid:87)(cid:85)(cid:77)(cid:3)(cid:44)(cid:93)(cid:75)(cid:83)(cid:3)(cid:91)(cid:93)(cid:74)(cid:75)(cid:84)(cid:73)(cid:91)(cid:91)(cid:77)(cid:91)(cid:22)(cid:3)(cid:48)(cid:77)(cid:3)(cid:86)(cid:87)(cid:95)(cid:3) (cid:80)(cid:73)(cid:91)(cid:3)(cid:198)(cid:3)(cid:97)(cid:81)(cid:86)(cid:79)(cid:3)(cid:81)(cid:86)(cid:73)(cid:86)(cid:81)(cid:85)(cid:73)(cid:92)(cid:77)(cid:3)(cid:87)(cid:74)(cid:82)(cid:77)(cid:75)(cid:92)(cid:91)(cid:3)(cid:81)(cid:86)(cid:3)(cid:92)(cid:80)(cid:77)(cid:3) (cid:59)(cid:81)(cid:85)(cid:61)(cid:44)(cid:93)(cid:75)(cid:83)(cid:3)(cid:88)(cid:90)(cid:87)(cid:79)(cid:90)(cid:73)(cid:85)(cid:22) (cid:58)(cid:75)(cid:68)(cid:87)(cid:3)(cid:75)(cid:72)(cid:3)(cid:87)(cid:75)(cid:82)(cid:88)(cid:74)(cid:75)(cid:87)(cid:3) (cid:41)(cid:3)(cid:84)(cid:87)(cid:75)(cid:73)(cid:84)(cid:81)(cid:98)(cid:77)(cid:76)(cid:3)(cid:93)(cid:88)(cid:76)(cid:73)(cid:92)(cid:77)(cid:3)(cid:92)(cid:87)(cid:3)(cid:92)(cid:80)(cid:77)(cid:3)(cid:75)(cid:87)(cid:76)(cid:77)(cid:3)(cid:75)(cid:73)(cid:93)(cid:91)(cid:77)(cid:76)(cid:3)(cid:73)(cid:3)(cid:86)(cid:87)(cid:86)(cid:21) (cid:84)(cid:87)(cid:75)(cid:73)(cid:84)(cid:3)(cid:91)(cid:81)(cid:76)(cid:77)(cid:3)(cid:77)(cid:78)(cid:78)(cid:77)(cid:75)(cid:92)(cid:3)(cid:16)(cid:198)(cid:3)(cid:97)(cid:81)(cid:86)(cid:79)(cid:3)(cid:90)(cid:93)(cid:74)(cid:74)(cid:77)(cid:90)(cid:3)(cid:76)(cid:93)(cid:75)(cid:83)(cid:91)(cid:17)(cid:9) (cid:90)(cid:68)(cid:86)(cid:3)(cid:68)(cid:3)(cid:74)(cid:85)(cid:72)(cid:68)(cid:87)(cid:3)(cid:88)(cid:86)(cid:72)(cid:3) (cid:82)(cid:73)(cid:3)(cid:76)(cid:81)(cid:75)(cid:72)(cid:85)(cid:76)(cid:87)(cid:68)(cid:81)(cid:70)(cid:72)(cid:3) (cid:39)(cid:88)(cid:70)(cid:78) (cid:84)(cid:88)(cid:68)(cid:70)(cid:78)(cid:11)(cid:12) (cid:73)(cid:82)(cid:85)(cid:3)(cid:87)(cid:75)(cid:72)(cid:3)(cid:83)(cid:88)(cid:85)(cid:83)(cid:82)(cid:86)(cid:72)(cid:3) (cid:37)(cid:86)(cid:92)(cid:88)(cid:3)(cid:68)(cid:83)(cid:76)(cid:83)(cid:69)(cid:72)(cid:76)(cid:81)(cid:88)(cid:79)(cid:86)(cid:85)(cid:76)(cid:70)(cid:87)(cid:79)(cid:75)(cid:70)(cid:87)(cid:79)(cid:88)(cid:87)(cid:82)(cid:76)(cid:92)(cid:68)(cid:88)(cid:71)(cid:3)(cid:81)(cid:79)(cid:86)(cid:76)(cid:86)(cid:74)(cid:87)(cid:81)(cid:71)(cid:15)(cid:3)(cid:82)(cid:74)(cid:3)(cid:81)(cid:183)(cid:3)(cid:3)(cid:73)(cid:75)(cid:79)(cid:87)(cid:36)(cid:87)(cid:72)(cid:17)(cid:92)(cid:3)(cid:75)(cid:11)(cid:47)(cid:74)(cid:82)(cid:12)(cid:86)(cid:3)(cid:68)(cid:47)(cid:76)(cid:72)(cid:89)(cid:3)(cid:81)(cid:3)(cid:72)(cid:3)(cid:71)(cid:3)(cid:87)(cid:87)(cid:88)(cid:73)(cid:75)(cid:79)(cid:70)(cid:75)(cid:68)(cid:92)(cid:72)(cid:78)(cid:76)(cid:87)(cid:3)(cid:86)(cid:15)(cid:3)(cid:81)(cid:3)(cid:74)(cid:3) (cid:86)(cid:71)(cid:73)(cid:18)(cid:18)(cid:79)(cid:90)(cid:3)(cid:76)(cid:92)(cid:50)(cid:86)(cid:76)(cid:11)(cid:83)(cid:80)(cid:55)(cid:12)(cid:79)(cid:43)(cid:68)(cid:11)(cid:12)(cid:92)(cid:40)(cid:11)(cid:53)(cid:12)(cid:3)(cid:71)(cid:88)(cid:70)(cid:78)(cid:16)(cid:79)(cid:76)(cid:78)(cid:72)(cid:3)(cid:80)(cid:72)(cid:87)(cid:75)(cid:82)(cid:71)(cid:86)(cid:17)(cid:17)(cid:17) (cid:90)(cid:87)(cid:80)(cid:82)(cid:88)(cid:73)(cid:75)(cid:68)(cid:85)(cid:3)(cid:85)(cid:72)(cid:81)(cid:76)(cid:81)(cid:72)(cid:81)(cid:72)(cid:88)(cid:87)(cid:3)(cid:71)(cid:72)(cid:76)(cid:86)(cid:87)(cid:3)(cid:81)(cid:72)(cid:82)(cid:3)(cid:3)(cid:68)(cid:70)(cid:88)(cid:75)(cid:82)(cid:81)(cid:87)(cid:68)(cid:80)(cid:3)(cid:70)(cid:86)(cid:86)(cid:72)(cid:72)(cid:82)(cid:81)(cid:17)(cid:86)(cid:3)(cid:183)(cid:90)(cid:3)(cid:87)(cid:87)(cid:3)(cid:82)(cid:72)(cid:79)(cid:3)(cid:79)(cid:3) (cid:71)(cid:76)(cid:86)(cid:83)(cid:79)(cid:48)(cid:68)(cid:92)(cid:68)(cid:11)(cid:79)(cid:12)(cid:79)(cid:3)(cid:68)(cid:94)(cid:85)(cid:71)(cid:39)(cid:88)(cid:70)(cid:78) (cid:71)(cid:76)(cid:86)(cid:83)(cid:53)(cid:79)(cid:68)(cid:72)(cid:92)(cid:71)(cid:11)(cid:12)(cid:75)(cid:3)(cid:94)(cid:72)(cid:68)(cid:71)(cid:39)(cid:88)(cid:70)(cid:78) (cid:84)(cid:88)(cid:68)(cid:70)(cid:78)(cid:11)(cid:53)(cid:12)(cid:3)(cid:88)(cid:94)(cid:69)(cid:69)(cid:72)(cid:85)(cid:39)(cid:88)(cid:70)(cid:78) (cid:53)(cid:86)(cid:82)(cid:88)(cid:3)(cid:69)(cid:84)(cid:69)(cid:88)(cid:72)(cid:68)(cid:85)(cid:70)(cid:3)(cid:78)(cid:71)(cid:11)(cid:88)(cid:12)(cid:70)(cid:3)(cid:78)(cid:76)(cid:86)(cid:86)(cid:3)(cid:3)(cid:82)(cid:71)(cid:89)(cid:82)(cid:72)(cid:81)(cid:85)(cid:183)(cid:85)(cid:87)(cid:85)(cid:3)(cid:76)(cid:84)(cid:71)(cid:88)(cid:71)(cid:68)(cid:72)(cid:70)(cid:81)(cid:78)(cid:3)(cid:15)(cid:3) (cid:18)(cid:18)(cid:3)(cid:79)(cid:82)(cid:82)(cid:78)(cid:86)(cid:3)(cid:79)(cid:76)(cid:78)(cid:72)(cid:3)(cid:68)(cid:3)(cid:80)(cid:68)(cid:79)(cid:79)(cid:68)(cid:85)(cid:71)(cid:3) (cid:18)(cid:18)(cid:3)(cid:79)(cid:82)(cid:82)(cid:78)(cid:86)(cid:3)(cid:79)(cid:76)(cid:78)(cid:72)(cid:3)(cid:68)(cid:3)(cid:85)(cid:72)(cid:71)(cid:75)(cid:72)(cid:68)(cid:71)(cid:3) (cid:3)(cid:3)(cid:18)(cid:18)(cid:3)(cid:82)(cid:89)(cid:72)(cid:85)(cid:85)(cid:76)(cid:71)(cid:71)(cid:72)(cid:81)(cid:3)(cid:87)(cid:82)(cid:3)(cid:54)(cid:84)(cid:88)(cid:72)(cid:68)(cid:78) (cid:87)(cid:82)(cid:3)(cid:180)(cid:54)(cid:84)(cid:88)(cid:72)(cid:68)(cid:78)(cid:181)(cid:17) (cid:96) (cid:96) (cid:96) (cid:71)(cid:76)(cid:86)(cid:83)(cid:79)(cid:68)(cid:92)(cid:11)(cid:12)(cid:3)(cid:94) (cid:18)(cid:18)(cid:3)(cid:79)(cid:82)(cid:82)(cid:78)(cid:86)(cid:3)(cid:79)(cid:76)(cid:78)(cid:72)(cid:3)(cid:68)(cid:3)(cid:85)(cid:88)(cid:69)(cid:69)(cid:72)(cid:85)(cid:71)(cid:88)(cid:70)(cid:78)(cid:3) (cid:96) (cid:23)(cid:3) (cid:38)(cid:75)(cid:68)(cid:83)(cid:87)(cid:72)(cid:85)(cid:3)(cid:20) Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra Prepared for Ann Cherkis, Safari ID: [email protected] ISBN: 0596007124 Publisher: O'Reilly Print Publication Date: 2004/10/25 User number: 1673621 Copyright 2008, Safari Books Online, LLC. This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that otherwise violates the Safari Terms of Service is strictly prohibited. www.it-ebooks.info Chapter 1. Welcome to Design Patterns Page 5 Return to Table of Contents (cid:76)(cid:81)(cid:87)(cid:85)(cid:82)(cid:3)(cid:87)(cid:82)(cid:3)(cid:39)(cid:72)(cid:86)(cid:76)(cid:74)(cid:81)(cid:3)(cid:51)(cid:68)(cid:87)(cid:87)(cid:72)(cid:85)(cid:81)(cid:86) (cid:50)(cid:87)(cid:77)(cid:3)(cid:92)(cid:80)(cid:81)(cid:86)(cid:83)(cid:91)(cid:3)(cid:73)(cid:74)(cid:87)(cid:93)(cid:92)(cid:3)(cid:81)(cid:86)(cid:80)(cid:77)(cid:90)(cid:81)(cid:92)(cid:73)(cid:86)(cid:75)(cid:77)(cid:22)(cid:22)(cid:22)(cid:3) (cid:44)(cid:3)(cid:70)(cid:82)(cid:88)(cid:79)(cid:71)(cid:3)(cid:68)(cid:79)(cid:90)(cid:68)(cid:92)(cid:86)(cid:3)(cid:77)(cid:88)(cid:86)(cid:87)(cid:3) (cid:82)(cid:89)(cid:72)(cid:85)(cid:85)(cid:76)(cid:71)(cid:72)(cid:3)(cid:87)(cid:75)(cid:72)(cid:3)(cid:193)(cid:3)(cid:92)(cid:11)(cid:12)(cid:3)(cid:80)(cid:72)(cid:87)(cid:75)(cid:82)(cid:71)(cid:3)(cid:76)(cid:81)(cid:3) (cid:37)(cid:88)(cid:87)(cid:3)(cid:87)(cid:75)(cid:72)(cid:81)(cid:3)(cid:90)(cid:75)(cid:68)(cid:87)(cid:3)(cid:75)(cid:68)(cid:83)(cid:83)(cid:72)(cid:81)(cid:86)(cid:3)(cid:90)(cid:75)(cid:72)(cid:81)(cid:3) (cid:85)(cid:88)(cid:69)(cid:69)(cid:72)(cid:85)(cid:3)(cid:71)(cid:88)(cid:70)(cid:78)(cid:15)(cid:3)(cid:87)(cid:75)(cid:72)(cid:3)(cid:90)(cid:68)(cid:92)(cid:3)(cid:44)(cid:3)(cid:68)(cid:80)(cid:3)(cid:90)(cid:76)(cid:87)(cid:75)(cid:3) (cid:90)(cid:72)(cid:3)(cid:68)(cid:71)(cid:71)(cid:3)(cid:90)(cid:82)(cid:82)(cid:71)(cid:72)(cid:81)(cid:3)(cid:71)(cid:72)(cid:70)(cid:82)(cid:92)(cid:3)(cid:71)(cid:88)(cid:70)(cid:78)(cid:86)(cid:3) (cid:87)(cid:75)(cid:72)(cid:3)(cid:84)(cid:88)(cid:68)(cid:70)(cid:78)(cid:11)(cid:12)(cid:3)(cid:80)(cid:72)(cid:87)(cid:75)(cid:82)(cid:71)(cid:17)(cid:17)(cid:17) (cid:87)(cid:82)(cid:3)(cid:87)(cid:75)(cid:72)(cid:3)(cid:83)(cid:85)(cid:82)(cid:74)(cid:85)(cid:68)(cid:80)(cid:34)(cid:3)(cid:55)(cid:75)(cid:72)(cid:92)(cid:3)(cid:68)(cid:85)(cid:72)(cid:81)(cid:183)(cid:87)(cid:3) (cid:86)(cid:88)(cid:83)(cid:83)(cid:82)(cid:86)(cid:72)(cid:71)(cid:3)(cid:87)(cid:82)(cid:3)(cid:193)(cid:3)(cid:92)(cid:3)(cid:82)(cid:85)(cid:3)(cid:84)(cid:88)(cid:68)(cid:70)(cid:78)(cid:17)(cid:17)(cid:17) (cid:53)(cid:88)(cid:69)(cid:69)(cid:72)(cid:85)(cid:39)(cid:88)(cid:70)(cid:78) (cid:84)(cid:88)(cid:68)(cid:70)(cid:78)(cid:11)(cid:12)(cid:3)(cid:3)(cid:94)(cid:3)(cid:18)(cid:18)(cid:3)(cid:86)(cid:84)(cid:88)(cid:72)(cid:68)(cid:78)(cid:96) (cid:71)(cid:76)(cid:86)(cid:83)(cid:79)(cid:68)(cid:92)(cid:11)(cid:12)(cid:3)(cid:94)(cid:3)(cid:17)(cid:18)(cid:18)(cid:3)(cid:85)(cid:88)(cid:69)(cid:69)(cid:72)(cid:85)(cid:3)(cid:71)(cid:88)(cid:70)(cid:78)(cid:3)(cid:96) (cid:73)(cid:79)(cid:92)(cid:11)(cid:12)(cid:3)(cid:94) (cid:3)(cid:3)(cid:3)(cid:18)(cid:18)(cid:3)(cid:82)(cid:89)(cid:72)(cid:85)(cid:85)(cid:76)(cid:71)(cid:72)(cid:3)(cid:87)(cid:82)(cid:3)(cid:71)(cid:82)(cid:3)(cid:81)(cid:82)(cid:87)(cid:75)(cid:76)(cid:81)(cid:74) (cid:96) (cid:39)(cid:72)(cid:70)(cid:82)(cid:92)(cid:39)(cid:88)(cid:70)(cid:78) (cid:84)(cid:88)(cid:68)(cid:70)(cid:78)(cid:11)(cid:12)(cid:3)(cid:94) (cid:3)(cid:3)(cid:18)(cid:18)(cid:3)(cid:82)(cid:89)(cid:72)(cid:85)(cid:85)(cid:76)(cid:71)(cid:72)(cid:3)(cid:87)(cid:82)(cid:3)(cid:71)(cid:82)(cid:3)(cid:81)(cid:82)(cid:87)(cid:75)(cid:76)(cid:81)(cid:74) (cid:96) (cid:71)(cid:76)(cid:86)(cid:83)(cid:79)(cid:68)(cid:92)(cid:11)(cid:12)(cid:3)(cid:94)(cid:3)(cid:18)(cid:18)(cid:3)(cid:71)(cid:72)(cid:70)(cid:82)(cid:92)(cid:3)(cid:71)(cid:88)(cid:70)(cid:78)(cid:96) (cid:43)(cid:75)(cid:53)(cid:72)(cid:76)(cid:69)(cid:72)(cid:85)(cid:88)(cid:88)(cid:85)(cid:72)(cid:69)(cid:87)(cid:68)(cid:183)(cid:69)(cid:86)(cid:3)(cid:85)(cid:3)(cid:72)(cid:76)(cid:70)(cid:87)(cid:68)(cid:85)(cid:75)(cid:3)(cid:81)(cid:39)(cid:68)(cid:92)(cid:82)(cid:79)(cid:30)(cid:88)(cid:87)(cid:86)(cid:3)(cid:70)(cid:82)(cid:75)(cid:81)(cid:78)(cid:3)(cid:82)(cid:72)(cid:15)(cid:71)(cid:85)(cid:87)(cid:3)(cid:82)(cid:3)(cid:76)(cid:76)(cid:87)(cid:70)(cid:70)(cid:72)(cid:72)(cid:3)(cid:79)(cid:86)(cid:68)(cid:71)(cid:3)(cid:81)(cid:86)(cid:87)(cid:183)(cid:82)(cid:86)(cid:87)(cid:75)(cid:72)(cid:3)(cid:3)(cid:68)(cid:86)(cid:76)(cid:84)(cid:81)(cid:81)(cid:87)(cid:88)(cid:3)(cid:183)(cid:3)(cid:87)(cid:87)(cid:68)(cid:79)(cid:3)(cid:76)(cid:75)(cid:70)(cid:78)(cid:73)(cid:78)(cid:72)(cid:72)(cid:79)(cid:17)(cid:3)(cid:3)(cid:92)(cid:15)(cid:3) (cid:73)(cid:3)(cid:96)(cid:79)(cid:3)(cid:92)(cid:18)(cid:18)(cid:11)(cid:3)(cid:12)(cid:82)(cid:3)(cid:94)(cid:89)(cid:72)(cid:85)(cid:85)(cid:76)(cid:71)(cid:72)(cid:3)(cid:87)(cid:82)(cid:3)(cid:71)(cid:82)(cid:3)(cid:81)(cid:82)(cid:87)(cid:75)(cid:76)(cid:81)(cid:74) (cid:54)(cid:75)(cid:68)(cid:85)(cid:83)(cid:72)(cid:81)(cid:92)(cid:82)(cid:88)(cid:85)(cid:83)(cid:72)(cid:81)(cid:70)(cid:76)(cid:79) (cid:63)(cid:80)(cid:81)(cid:75)(cid:80)(cid:3)(cid:87)(cid:78)(cid:3)(cid:92)(cid:80)(cid:77)(cid:3)(cid:78)(cid:87)(cid:84)(cid:84)(cid:87)(cid:95)(cid:81)(cid:86)(cid:79)(cid:3)(cid:3)(cid:73)(cid:90)(cid:77)(cid:3)(cid:3)(cid:76)(cid:81)(cid:91)(cid:73)(cid:76)(cid:94)(cid:73)(cid:86)(cid:92)(cid:73)(cid:79)(cid:77)(cid:91)(cid:3)(cid:87)(cid:78)(cid:3)(cid:93)(cid:91)(cid:81)(cid:86)(cid:79)(cid:3)(cid:81)(cid:86)(cid:80)(cid:77)(cid:90)(cid:81)(cid:92)(cid:73)(cid:86)(cid:75)(cid:77)(cid:3)(cid:92)(cid:87)(cid:3) (cid:88)(cid:90)(cid:87)(cid:94)(cid:81)(cid:76)(cid:77)(cid:3)(cid:44)(cid:93)(cid:75)(cid:83)(cid:3)(cid:74)(cid:77)(cid:80)(cid:73)(cid:94)(cid:81)(cid:87)(cid:90)(cid:39)(cid:3)(cid:3)(cid:16)(cid:43)(cid:80)(cid:87)(cid:87)(cid:91)(cid:77)(cid:3)(cid:73)(cid:84)(cid:84)(cid:3)(cid:92)(cid:80)(cid:73)(cid:92)(cid:3)(cid:73)(cid:88)(cid:88)(cid:84)(cid:97)(cid:22)(cid:17) (cid:82)(cid:3)(cid:3)(cid:3)(cid:41)(cid:22)(cid:3)(cid:43)(cid:87)(cid:76)(cid:77)(cid:3)(cid:81)(cid:91)(cid:3)(cid:76)(cid:93)(cid:88)(cid:84)(cid:81)(cid:75)(cid:73)(cid:92)(cid:77)(cid:76)(cid:3)(cid:73)(cid:75)(cid:90)(cid:87)(cid:91)(cid:91)(cid:3)(cid:91)(cid:93)(cid:74)(cid:75)(cid:84)(cid:73)(cid:91)(cid:91)(cid:77)(cid:91)(cid:22) (cid:82)(cid:3)(cid:3)(cid:3)(cid:44)(cid:22)(cid:3)(cid:48)(cid:73)(cid:90)(cid:76)(cid:3)(cid:92)(cid:87)(cid:3)(cid:79)(cid:73)(cid:81)(cid:86)(cid:3)(cid:83)(cid:86)(cid:87)(cid:95)(cid:84)(cid:77)(cid:76)(cid:79)(cid:77)(cid:3)(cid:87)(cid:78)(cid:3)(cid:73)(cid:84)(cid:84)(cid:3)(cid:76)(cid:93)(cid:75)(cid:83)(cid:3)(cid:74)(cid:77)(cid:80)(cid:73)(cid:94)(cid:81)(cid:87)(cid:90)(cid:91)(cid:22) (cid:82)(cid:3)(cid:3)(cid:3)(cid:42)(cid:22)(cid:3)(cid:58)(cid:93)(cid:86)(cid:92)(cid:81)(cid:85)(cid:77)(cid:3)(cid:74)(cid:77)(cid:80)(cid:73)(cid:94)(cid:81)(cid:87)(cid:90)(cid:3)(cid:75)(cid:80)(cid:73)(cid:86)(cid:79)(cid:77)(cid:91)(cid:3)(cid:73)(cid:90)(cid:77)(cid:3)(cid:76)(cid:81)(cid:78)(cid:197)(cid:3)(cid:75)(cid:93)(cid:84)(cid:92)(cid:22) (cid:82)(cid:3)(cid:3)(cid:3)(cid:45)(cid:22)(cid:3)(cid:44)(cid:93)(cid:75)(cid:83)(cid:91)(cid:3)(cid:75)(cid:73)(cid:86)(cid:188)(cid:92)(cid:3)(cid:198)(cid:3)(cid:97)(cid:3)(cid:73)(cid:86)(cid:76)(cid:3)(cid:89)(cid:93)(cid:73)(cid:75)(cid:83)(cid:3)(cid:73)(cid:92)(cid:3)(cid:92)(cid:80)(cid:77)(cid:3)(cid:91)(cid:73)(cid:85)(cid:77)(cid:3)(cid:92)(cid:81)(cid:85)(cid:77)(cid:22) (cid:82)(cid:3)(cid:3)(cid:3)(cid:43)(cid:22)(cid:3)(cid:63)(cid:77)(cid:3)(cid:75)(cid:73)(cid:86)(cid:188)(cid:92)(cid:3)(cid:85)(cid:73)(cid:83)(cid:77)(cid:3)(cid:76)(cid:93)(cid:75)(cid:83)(cid:91)(cid:3)(cid:76)(cid:73)(cid:86)(cid:75)(cid:77)(cid:22) (cid:82)(cid:3)(cid:3)(cid:3)(cid:46)(cid:22)(cid:3) (cid:43)(cid:80)(cid:73)(cid:86)(cid:79)(cid:77)(cid:91)(cid:3)(cid:75)(cid:73)(cid:86)(cid:3)(cid:93)(cid:86)(cid:81)(cid:86)(cid:92)(cid:77)(cid:86)(cid:92)(cid:81)(cid:87)(cid:86)(cid:73)(cid:84)(cid:84)(cid:97)(cid:3)(cid:73)(cid:78)(cid:78)(cid:77)(cid:75)(cid:92)(cid:3)(cid:87)(cid:92)(cid:80)(cid:77)(cid:90)(cid:3)(cid:76)(cid:93)(cid:75)(cid:83)(cid:91)(cid:22) (cid:92)(cid:82)(cid:88)(cid:3)(cid:68)(cid:85)(cid:72)(cid:3)(cid:75)(cid:72)(cid:85)(cid:72)(cid:3)(cid:23) (cid:24) Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra Prepared for Ann Cherkis, Safari ID: [email protected] ISBN: 0596007124 Publisher: O'Reilly Print Publication Date: 2004/10/25 User number: 1673621 Copyright 2008, Safari Books Online, LLC. This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that otherwise violates the Safari Terms of Service is strictly prohibited. www.it-ebooks.info Chapter 1. Welcome to Design Patterns Page 6 Return to Table of Contents (cid:76)(cid:81)(cid:75)(cid:72)(cid:85)(cid:76)(cid:87)(cid:68)(cid:81)(cid:70)(cid:72)(cid:3)(cid:76)(cid:86)(cid:3)(cid:81)(cid:82)(cid:87)(cid:3)(cid:87)(cid:75)(cid:72)(cid:3)(cid:68)(cid:81)(cid:86)(cid:90)(cid:72)(cid:85) (cid:48)(cid:87)(cid:95)(cid:3)(cid:73)(cid:74)(cid:87)(cid:93)(cid:92)(cid:3)(cid:73)(cid:86)(cid:3)(cid:81)(cid:86)(cid:92)(cid:77)(cid:90)(cid:78)(cid:73)(cid:75)(cid:77)(cid:39) (cid:50)(cid:87)(cid:77)(cid:3)(cid:90)(cid:77)(cid:73)(cid:84)(cid:81)(cid:98)(cid:77)(cid:76)(cid:3)(cid:92)(cid:80)(cid:73)(cid:92)(cid:3)(cid:81)(cid:86)(cid:80)(cid:77)(cid:90)(cid:81)(cid:92)(cid:73)(cid:86)(cid:75)(cid:77)(cid:3)(cid:88)(cid:90)(cid:87)(cid:74)(cid:73)(cid:74)(cid:84)(cid:97)(cid:3)(cid:95)(cid:73)(cid:91)(cid:86)(cid:188)(cid:92)(cid:3)(cid:92)(cid:80)(cid:77)(cid:3) (cid:73)(cid:86)(cid:91)(cid:95)(cid:77)(cid:90)(cid:20)(cid:3)(cid:74)(cid:77)(cid:75)(cid:73)(cid:93)(cid:91)(cid:77)(cid:3)(cid:80)(cid:77)(cid:3)(cid:82)(cid:93)(cid:91)(cid:92)(cid:3)(cid:79)(cid:87)(cid:92)(cid:3)(cid:73)(cid:3)(cid:85)(cid:77)(cid:85)(cid:87)(cid:3)(cid:92)(cid:80)(cid:73)(cid:92)(cid:3)(cid:91)(cid:73)(cid:97)(cid:91)(cid:3)(cid:92)(cid:80)(cid:73)(cid:92)(cid:3) (cid:44)(cid:3)(cid:70)(cid:82)(cid:88)(cid:79)(cid:71)(cid:3)(cid:87)(cid:68)(cid:78)(cid:72)(cid:3)(cid:87)(cid:75)(cid:72)(cid:3)(cid:193)(cid:3)(cid:92)(cid:11)(cid:12)(cid:3)(cid:82)(cid:88)(cid:87)(cid:3)(cid:82)(cid:73)(cid:3)(cid:87)(cid:75)(cid:72)(cid:3) (cid:92)(cid:80)(cid:77)(cid:3)(cid:77)(cid:96)(cid:77)(cid:75)(cid:93)(cid:92)(cid:81)(cid:94)(cid:77)(cid:91)(cid:3)(cid:86)(cid:87)(cid:95)(cid:3)(cid:95)(cid:73)(cid:86)(cid:92)(cid:3)(cid:92)(cid:87)(cid:3)(cid:93)(cid:88)(cid:76)(cid:73)(cid:92)(cid:77)(cid:3)(cid:92)(cid:80)(cid:77)(cid:3)(cid:88)(cid:90)(cid:87)(cid:76)(cid:93)(cid:75)(cid:92)(cid:3)(cid:77)(cid:94)(cid:77)(cid:90)(cid:97)(cid:3) (cid:39)(cid:88)(cid:70)(cid:78)(cid:3)(cid:86)(cid:88)(cid:83)(cid:72)(cid:85)(cid:70)(cid:79)(cid:68)(cid:86)(cid:86)(cid:15)(cid:3)(cid:68)(cid:81)(cid:71)(cid:3)(cid:80)(cid:68)(cid:78)(cid:72)(cid:3)(cid:68)(cid:3) (cid:91)(cid:81)(cid:96)(cid:3)(cid:85)(cid:87)(cid:86)(cid:92)(cid:80)(cid:91)(cid:3)(cid:16)(cid:81)(cid:86)(cid:3)(cid:95)(cid:73)(cid:97)(cid:91)(cid:3)(cid:92)(cid:80)(cid:77)(cid:97)(cid:3)(cid:80)(cid:73)(cid:94)(cid:77)(cid:86)(cid:188)(cid:92)(cid:3)(cid:97)(cid:77)(cid:92)(cid:3)(cid:76)(cid:77)(cid:75)(cid:81)(cid:76)(cid:77)(cid:76)(cid:3)(cid:87)(cid:86)(cid:17)(cid:22)(cid:3)(cid:50)(cid:87)(cid:77)(cid:3) (cid:41)(cid:79)(cid:92)(cid:68)(cid:69)(cid:79)(cid:72)(cid:11)(cid:12)(cid:3)(cid:76)(cid:81)(cid:87)(cid:72)(cid:85)(cid:73)(cid:68)(cid:70)(cid:72)(cid:3)(cid:90)(cid:76)(cid:87)(cid:75)(cid:3)(cid:68)(cid:3)(cid:193)(cid:3)(cid:92)(cid:11)(cid:12)(cid:3) (cid:80)(cid:72)(cid:87)(cid:75)(cid:82)(cid:71)(cid:17)(cid:3)(cid:55)(cid:75)(cid:68)(cid:87)(cid:3)(cid:90)(cid:68)(cid:92)(cid:15)(cid:3)(cid:82)(cid:81)(cid:79)(cid:92)(cid:3)(cid:87)(cid:75)(cid:72)(cid:3)(cid:71)(cid:88)(cid:70)(cid:78)(cid:86)(cid:3)(cid:87)(cid:75)(cid:68)(cid:87)(cid:3) (cid:83)(cid:86)(cid:87)(cid:95)(cid:91)(cid:3)(cid:92)(cid:80)(cid:77)(cid:3)(cid:91)(cid:88)(cid:77)(cid:75)(cid:3)(cid:95)(cid:81)(cid:84)(cid:84)(cid:3)(cid:83)(cid:77)(cid:77)(cid:88)(cid:3)(cid:75)(cid:80)(cid:73)(cid:86)(cid:79)(cid:81)(cid:86)(cid:79)(cid:3)(cid:73)(cid:86)(cid:76)(cid:3)(cid:80)(cid:77)(cid:188)(cid:84)(cid:84)(cid:3)(cid:74)(cid:77)(cid:3)(cid:78)(cid:87)(cid:90)(cid:75)(cid:77)(cid:76)(cid:3) (cid:68)(cid:85)(cid:72)(cid:3)(cid:86)(cid:88)(cid:83)(cid:83)(cid:82)(cid:86)(cid:72)(cid:71)(cid:3)(cid:87)(cid:82)(cid:3)(cid:193)(cid:3)(cid:92)(cid:3)(cid:90)(cid:76)(cid:79)(cid:79)(cid:3)(cid:76)(cid:80)(cid:83)(cid:79)(cid:72)(cid:80)(cid:72)(cid:81)(cid:87)(cid:3)(cid:87)(cid:75)(cid:68)(cid:87)(cid:3) (cid:92)(cid:87)(cid:3)(cid:84)(cid:87)(cid:87)(cid:83)(cid:3)(cid:73)(cid:92)(cid:3)(cid:73)(cid:86)(cid:76)(cid:3)(cid:88)(cid:87)(cid:91)(cid:91)(cid:81)(cid:74)(cid:84)(cid:97)(cid:3)(cid:87)(cid:94)(cid:77)(cid:90)(cid:90)(cid:81)(cid:76)(cid:77)(cid:3)(cid:198)(cid:3)(cid:97)(cid:16)(cid:17)(cid:3)(cid:73)(cid:86)(cid:76)(cid:3)(cid:89)(cid:93)(cid:73)(cid:75)(cid:83)(cid:16)(cid:17)(cid:3)(cid:78)(cid:87)(cid:90)(cid:3) (cid:76)(cid:81)(cid:87)(cid:72)(cid:85)(cid:73)(cid:68)(cid:70)(cid:72)(cid:3)(cid:68)(cid:81)(cid:71)(cid:3)(cid:75)(cid:68)(cid:89)(cid:72)(cid:3)(cid:68)(cid:3)(cid:193)(cid:3)(cid:92)(cid:11)(cid:12)(cid:3)(cid:80)(cid:72)(cid:87)(cid:75)(cid:82)(cid:71)(cid:17)(cid:17)(cid:17)(cid:3)(cid:68)(cid:81)(cid:71)(cid:3) (cid:77)(cid:94)(cid:77)(cid:90)(cid:97)(cid:3)(cid:86)(cid:77)(cid:95)(cid:3)(cid:44)(cid:93)(cid:75)(cid:83)(cid:3)(cid:91)(cid:93)(cid:74)(cid:75)(cid:84)(cid:73)(cid:91)(cid:91)(cid:3)(cid:92)(cid:80)(cid:73)(cid:92)(cid:188)(cid:91)(cid:3)(cid:77)(cid:94)(cid:77)(cid:90)(cid:3)(cid:73)(cid:76)(cid:76)(cid:77)(cid:76)(cid:3)(cid:92)(cid:87)(cid:3)(cid:92)(cid:80)(cid:77)(cid:3) (cid:44)(cid:3)(cid:80)(cid:76)(cid:74)(cid:75)(cid:87)(cid:3)(cid:68)(cid:86)(cid:3)(cid:90)(cid:72)(cid:79)(cid:79)(cid:3)(cid:80)(cid:68)(cid:78)(cid:72)(cid:3)(cid:68)(cid:3)(cid:52)(cid:88)(cid:68)(cid:70)(cid:78)(cid:68)(cid:69)(cid:79)(cid:72)(cid:15)(cid:3)(cid:87)(cid:82)(cid:82)(cid:15)(cid:3) (cid:88)(cid:90)(cid:87)(cid:79)(cid:90)(cid:73)(cid:85)(cid:22)(cid:22)(cid:22)(cid:3)(cid:78)(cid:87)(cid:90)(cid:77)(cid:94)(cid:77)(cid:90)(cid:22)(cid:3) (cid:86)(cid:76)(cid:81)(cid:70)(cid:72)(cid:3)(cid:81)(cid:82)(cid:87)(cid:3)(cid:68)(cid:79)(cid:79)(cid:3)(cid:71)(cid:88)(cid:70)(cid:78)(cid:86)(cid:3)(cid:70)(cid:68)(cid:81)(cid:3)(cid:84)(cid:88)(cid:68)(cid:70)(cid:78)(cid:17)(cid:3) (cid:59)(cid:87)(cid:20)(cid:3)(cid:80)(cid:77)(cid:3)(cid:86)(cid:77)(cid:77)(cid:76)(cid:91)(cid:3)(cid:73)(cid:3)(cid:75)(cid:84)(cid:77)(cid:73)(cid:86)(cid:77)(cid:90)(cid:3)(cid:95)(cid:73)(cid:97)(cid:3)(cid:92)(cid:87)(cid:3)(cid:80)(cid:73)(cid:94)(cid:77)(cid:3)(cid:87)(cid:86)(cid:84)(cid:97)(cid:3)(cid:91)(cid:87)(cid:85)(cid:77)(cid:3)(cid:16)(cid:74)(cid:93)(cid:92)(cid:3)(cid:86)(cid:87)(cid:92)(cid:3) (cid:73)(cid:84)(cid:84)(cid:17)(cid:3)(cid:87)(cid:78)(cid:3)(cid:92)(cid:80)(cid:77)(cid:3)(cid:76)(cid:93)(cid:75)(cid:83)(cid:3)(cid:92)(cid:97)(cid:88)(cid:77)(cid:91)(cid:3)(cid:198)(cid:3)(cid:97)(cid:3)(cid:87)(cid:90)(cid:3)(cid:89)(cid:93)(cid:73)(cid:75)(cid:83)(cid:22) (cid:39)(cid:88)(cid:70)(cid:78) (cid:52)(cid:88)(cid:68)(cid:70)(cid:78)(cid:68)(cid:69)(cid:79)(cid:72) (cid:86)(cid:90)(cid:76)(cid:80)(cid:11)(cid:12) (cid:41)(cid:79)(cid:92)(cid:68)(cid:69)(cid:79)(cid:72) (cid:71)(cid:76)(cid:86)(cid:83)(cid:79)(cid:68)(cid:92)(cid:11)(cid:12) (cid:84)(cid:88)(cid:68)(cid:70)(cid:78)(cid:11)(cid:12) (cid:73)(cid:79)(cid:92)(cid:11)(cid:12) (cid:18)(cid:18)(cid:3)(cid:50)(cid:55)(cid:43)(cid:40)(cid:53)(cid:3)(cid:71)(cid:88)(cid:70)(cid:78)(cid:16)(cid:79)(cid:76)(cid:78)(cid:72)(cid:3)(cid:80)(cid:72)(cid:87)(cid:75)(cid:82)(cid:71)(cid:86)(cid:17)(cid:17)(cid:17) (cid:48)(cid:68)(cid:79)(cid:79)(cid:68)(cid:85)(cid:71)(cid:39)(cid:88)(cid:70)(cid:78) (cid:53)(cid:72)(cid:71)(cid:75)(cid:72)(cid:68)(cid:71)(cid:39)(cid:88)(cid:70)(cid:78) (cid:53)(cid:88)(cid:69)(cid:69)(cid:72)(cid:85)(cid:39)(cid:88)(cid:70)(cid:78) (cid:39)(cid:72)(cid:70)(cid:82)(cid:92)(cid:39)(cid:88)(cid:70)(cid:78) (cid:71)(cid:76)(cid:86)(cid:83)(cid:79)(cid:68)(cid:92)(cid:11)(cid:12)(cid:3) (cid:71)(cid:76)(cid:86)(cid:83)(cid:79)(cid:68)(cid:92)(cid:11)(cid:12) (cid:71)(cid:76)(cid:86)(cid:83)(cid:79)(cid:68)(cid:92)(cid:11)(cid:12) (cid:71)(cid:76)(cid:86)(cid:83)(cid:79)(cid:68)(cid:92)(cid:11)(cid:12) (cid:73)(cid:79)(cid:92)(cid:11)(cid:12) (cid:73)(cid:79)(cid:92)(cid:11)(cid:12) (cid:84)(cid:88)(cid:68)(cid:70)(cid:78)(cid:11)(cid:12) (cid:84)(cid:88)(cid:68)(cid:70)(cid:78)(cid:11)(cid:12) (cid:84)(cid:88)(cid:68)(cid:70)(cid:78)(cid:11)(cid:12) (cid:58)(cid:75)(cid:68)(cid:87)(cid:3)(cid:71)(cid:82)(cid:3)(cid:60)(cid:50)(cid:56)(cid:3)(cid:87)(cid:75)(cid:76)(cid:81)(cid:78)(cid:3)(cid:68)(cid:69)(cid:82)(cid:88)(cid:87)(cid:3)(cid:87)(cid:75)(cid:76)(cid:86)(cid:3)(cid:71)(cid:72)(cid:86)(cid:76)(cid:74)(cid:81)(cid:34) (cid:25)(cid:3) (cid:38)(cid:75)(cid:68)(cid:83)(cid:87)(cid:72)(cid:85)(cid:3)(cid:20) Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra Prepared for Ann Cherkis, Safari ID: [email protected] ISBN: 0596007124 Publisher: O'Reilly Print Publication Date: 2004/10/25 User number: 1673621 Copyright 2008, Safari Books Online, LLC. This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that otherwise violates the Safari Terms of Service is strictly prohibited. www.it-ebooks.info Chapter 1. Welcome to Design Patterns Page 7 Return to Table of Contents (cid:76)(cid:81)(cid:87)(cid:85)(cid:82)(cid:3)(cid:87)(cid:82)(cid:3)(cid:39)(cid:72)(cid:86)(cid:76)(cid:74)(cid:81)(cid:3)(cid:51)(cid:68)(cid:87)(cid:87)(cid:72)(cid:85)(cid:81)(cid:86) (cid:55)(cid:75)(cid:68)(cid:87)(cid:3)(cid:76)(cid:86)(cid:15)(cid:3)(cid:79)(cid:76)(cid:78)(cid:72)(cid:15)(cid:3)(cid:87)(cid:75)(cid:72)(cid:3)(cid:71)(cid:88)(cid:80)(cid:69)(cid:72)(cid:86)(cid:87)(cid:3)(cid:76)(cid:71)(cid:72)(cid:68)(cid:3) (cid:92)(cid:82)(cid:88)(cid:183)(cid:89)(cid:72)(cid:3)(cid:70)(cid:82)(cid:80)(cid:72)(cid:3)(cid:88)(cid:83)(cid:3)(cid:90)(cid:76)(cid:87)(cid:75)(cid:17)(cid:3)(cid:38)(cid:68)(cid:81)(cid:3)(cid:92)(cid:82)(cid:88)(cid:3)(cid:86)(cid:68)(cid:92)(cid:15)(cid:3) (cid:180)(cid:71)(cid:88)(cid:83)(cid:79)(cid:76)(cid:70)(cid:68)(cid:87)(cid:72)(cid:3)(cid:70)(cid:82)(cid:71)(cid:72)(cid:181)(cid:34)(cid:3)(cid:44)(cid:73)(cid:3)(cid:92)(cid:82)(cid:88)(cid:3)(cid:87)(cid:75)(cid:82)(cid:88)(cid:74)(cid:75)(cid:87)(cid:3) (cid:75)(cid:68)(cid:89)(cid:76)(cid:81)(cid:74)(cid:3)(cid:87)(cid:82)(cid:3)(cid:82)(cid:89)(cid:72)(cid:85)(cid:85)(cid:76)(cid:71)(cid:72)(cid:3)(cid:68)(cid:3)(cid:73)(cid:72)(cid:90)(cid:3)(cid:80)(cid:72)(cid:87)(cid:75)(cid:82)(cid:71)(cid:86)(cid:3)(cid:90)(cid:68)(cid:86)(cid:3)(cid:69)(cid:68)(cid:71)(cid:15)(cid:3) (cid:75)(cid:82)(cid:90)(cid:3)(cid:68)(cid:85)(cid:72)(cid:3)(cid:92)(cid:82)(cid:88)(cid:3)(cid:74)(cid:82)(cid:81)(cid:81)(cid:68)(cid:3)(cid:73)(cid:72)(cid:72)(cid:79)(cid:3)(cid:90)(cid:75)(cid:72)(cid:81)(cid:3)(cid:92)(cid:82)(cid:88)(cid:3)(cid:81)(cid:72)(cid:72)(cid:71)(cid:3) (cid:87)(cid:82)(cid:3)(cid:80)(cid:68)(cid:78)(cid:72)(cid:3)(cid:68)(cid:3)(cid:79)(cid:76)(cid:87)(cid:87)(cid:79)(cid:72)(cid:3)(cid:70)(cid:75)(cid:68)(cid:81)(cid:74)(cid:72)(cid:3)(cid:87)(cid:82)(cid:3)(cid:87)(cid:75)(cid:72)(cid:3)(cid:193)(cid:92)(cid:76)(cid:81)(cid:74)(cid:3) (cid:69)(cid:72)(cid:75)(cid:68)(cid:89)(cid:76)(cid:82)(cid:85)(cid:17)(cid:17)(cid:17)(cid:3)(cid:76)(cid:81)(cid:3)(cid:68)(cid:79)(cid:79)(cid:3)(cid:23)(cid:27)(cid:3)(cid:82)(cid:73)(cid:3)(cid:87)(cid:75)(cid:72)(cid:3)(cid:193)(cid:92)(cid:76)(cid:81)(cid:74)(cid:3) (cid:39)(cid:88)(cid:70)(cid:78)(cid:3)(cid:86)(cid:88)(cid:69)(cid:70)(cid:79)(cid:68)(cid:86)(cid:86)(cid:72)(cid:86)(cid:34)(cid:4) (cid:63)(cid:80)(cid:73)(cid:92)(cid:3)(cid:95)(cid:87)(cid:93)(cid:84)(cid:76)(cid:3)(cid:97)(cid:87)(cid:93)(cid:3)(cid:76)(cid:87)(cid:3)(cid:81)(cid:78)(cid:3)(cid:97)(cid:87)(cid:93)(cid:3)(cid:95)(cid:77)(cid:90)(cid:77)(cid:3)(cid:50)(cid:87)(cid:77)(cid:39) (cid:63)(cid:77)(cid:3)(cid:83)(cid:86)(cid:87)(cid:95)(cid:3)(cid:92)(cid:80)(cid:73)(cid:92)(cid:3)(cid:86)(cid:87)(cid:92)(cid:3)(cid:73)(cid:84)(cid:84)(cid:3)(cid:87)(cid:78)(cid:3)(cid:92)(cid:80)(cid:77)(cid:3)(cid:91)(cid:93)(cid:74)(cid:75)(cid:84)(cid:73)(cid:91)(cid:91)(cid:77)(cid:91)(cid:3)(cid:91)(cid:80)(cid:87)(cid:93)(cid:84)(cid:76)(cid:3)(cid:80)(cid:73)(cid:94)(cid:77)(cid:3)(cid:198)(cid:97)(cid:81)(cid:86)(cid:79)(cid:3)(cid:87)(cid:90)(cid:3)(cid:89)(cid:93)(cid:73)(cid:75)(cid:83)(cid:81)(cid:86)(cid:79)(cid:3) (cid:74)(cid:77)(cid:80)(cid:73)(cid:94)(cid:81)(cid:87)(cid:90)(cid:20)(cid:3)(cid:91)(cid:87)(cid:3)(cid:81)(cid:86)(cid:80)(cid:77)(cid:90)(cid:81)(cid:92)(cid:73)(cid:86)(cid:75)(cid:77)(cid:3)(cid:81)(cid:91)(cid:86)(cid:188)(cid:92)(cid:3)(cid:92)(cid:80)(cid:77)(cid:3)(cid:90)(cid:81)(cid:79)(cid:80)(cid:92)(cid:3)(cid:73)(cid:86)(cid:91)(cid:95)(cid:77)(cid:90)(cid:22)(cid:3)(cid:42)(cid:93)(cid:92)(cid:3)(cid:95)(cid:80)(cid:81)(cid:84)(cid:77)(cid:3)(cid:80)(cid:73)(cid:94)(cid:81)(cid:86)(cid:79)(cid:3) (cid:92)(cid:80)(cid:77)(cid:3)(cid:91)(cid:93)(cid:74)(cid:75)(cid:84)(cid:73)(cid:91)(cid:91)(cid:77)(cid:91)(cid:3)(cid:81)(cid:85)(cid:88)(cid:84)(cid:77)(cid:85)(cid:77)(cid:86)(cid:92)(cid:3)(cid:46)(cid:84)(cid:97)(cid:73)(cid:74)(cid:84)(cid:77)(cid:3)(cid:73)(cid:86)(cid:76)(cid:23)(cid:87)(cid:90)(cid:3)(cid:57)(cid:93)(cid:73)(cid:75)(cid:83)(cid:73)(cid:74)(cid:84)(cid:77)(cid:3)(cid:91)(cid:87)(cid:84)(cid:94)(cid:77)(cid:91)(cid:3)(cid:88)(cid:73)(cid:90)(cid:92)(cid:3)(cid:87)(cid:78)(cid:3) (cid:92)(cid:80)(cid:77)(cid:3)(cid:88)(cid:90)(cid:87)(cid:74)(cid:84)(cid:77)(cid:85)(cid:3)(cid:16)(cid:86)(cid:87)(cid:3)(cid:81)(cid:86)(cid:73)(cid:88)(cid:88)(cid:90)(cid:87)(cid:88)(cid:90)(cid:81)(cid:73)(cid:92)(cid:77)(cid:84)(cid:97)(cid:3)(cid:198)(cid:97)(cid:81)(cid:86)(cid:79)(cid:3)(cid:90)(cid:93)(cid:74)(cid:74)(cid:77)(cid:90)(cid:3)(cid:76)(cid:93)(cid:75)(cid:83)(cid:91)(cid:17)(cid:20)(cid:3)(cid:81)(cid:92)(cid:3)(cid:75)(cid:87)(cid:85)(cid:88)(cid:84)(cid:77)(cid:92)(cid:77)(cid:84)(cid:97)(cid:3) (cid:76)(cid:77)(cid:91)(cid:92)(cid:90)(cid:87)(cid:97)(cid:91)(cid:3)(cid:75)(cid:87)(cid:76)(cid:77)(cid:3)(cid:90)(cid:77)(cid:93)(cid:91)(cid:77)(cid:3)(cid:78)(cid:87)(cid:90)(cid:3)(cid:92)(cid:80)(cid:87)(cid:91)(cid:77)(cid:3)(cid:74)(cid:77)(cid:80)(cid:73)(cid:94)(cid:81)(cid:87)(cid:90)(cid:91)(cid:20)(cid:3)(cid:91)(cid:87)(cid:3)(cid:81)(cid:92)(cid:3)(cid:82)(cid:93)(cid:91)(cid:92)(cid:3)(cid:75)(cid:90)(cid:77)(cid:73)(cid:92)(cid:77)(cid:91)(cid:3)(cid:73)(cid:3)(cid:76)(cid:81)(cid:78)(cid:78)(cid:77)(cid:90)(cid:77)(cid:86)(cid:92)(cid:3) (cid:85)(cid:73)(cid:81)(cid:86)(cid:92)(cid:77)(cid:86)(cid:73)(cid:86)(cid:75)(cid:77)(cid:3)(cid:86)(cid:81)(cid:79)(cid:80)(cid:92)(cid:85)(cid:73)(cid:90)(cid:77)(cid:22)(cid:3)(cid:41)(cid:86)(cid:76)(cid:3)(cid:87)(cid:78)(cid:3)(cid:75)(cid:87)(cid:93)(cid:90)(cid:91)(cid:77)(cid:3)(cid:92)(cid:80)(cid:77)(cid:90)(cid:77)(cid:3)(cid:85)(cid:81)(cid:79)(cid:80)(cid:92)(cid:3)(cid:74)(cid:77)(cid:3)(cid:85)(cid:87)(cid:90)(cid:77)(cid:3)(cid:92)(cid:80)(cid:73)(cid:86)(cid:3) (cid:87)(cid:86)(cid:77)(cid:3)(cid:83)(cid:81)(cid:86)(cid:76)(cid:3)(cid:87)(cid:78)(cid:3)(cid:198)(cid:97)(cid:81)(cid:86)(cid:79)(cid:3)(cid:74)(cid:77)(cid:80)(cid:73)(cid:94)(cid:81)(cid:87)(cid:90)(cid:3)(cid:77)(cid:94)(cid:77)(cid:86)(cid:3)(cid:73)(cid:85)(cid:87)(cid:86)(cid:79)(cid:3)(cid:92)(cid:80)(cid:77)(cid:3)(cid:76)(cid:93)(cid:75)(cid:83)(cid:91)(cid:3)(cid:92)(cid:80)(cid:73)(cid:92)(cid:3)(cid:76)(cid:87)(cid:3)(cid:198)(cid:97)(cid:22)(cid:22)(cid:22) (cid:41)(cid:92)(cid:3)(cid:92)(cid:80)(cid:81)(cid:91)(cid:3)(cid:88)(cid:87)(cid:81)(cid:86)(cid:92)(cid:3)(cid:97)(cid:87)(cid:93)(cid:3)(cid:85)(cid:81)(cid:79)(cid:80)(cid:92)(cid:3)(cid:74)(cid:77)(cid:3)(cid:95)(cid:73)(cid:81)(cid:92)(cid:81)(cid:86)(cid:79)(cid:3)(cid:78)(cid:87)(cid:90)(cid:3)(cid:73)(cid:3)(cid:44)(cid:77)(cid:91)(cid:81)(cid:79)(cid:86)(cid:3)(cid:56)(cid:73)(cid:92)(cid:92)(cid:77)(cid:90)(cid:86)(cid:3)(cid:92)(cid:87)(cid:3)(cid:75)(cid:87)(cid:85)(cid:77)(cid:3) (cid:90)(cid:81)(cid:76)(cid:81)(cid:86)(cid:79)(cid:3)(cid:81)(cid:86)(cid:3)(cid:87)(cid:86)(cid:3)(cid:73)(cid:3)(cid:95)(cid:80)(cid:81)(cid:92)(cid:77)(cid:3)(cid:80)(cid:87)(cid:90)(cid:91)(cid:77)(cid:3)(cid:73)(cid:86)(cid:76)(cid:3)(cid:91)(cid:73)(cid:94)(cid:77)(cid:3)(cid:92)(cid:80)(cid:77)(cid:3)(cid:76)(cid:73)(cid:97)(cid:22)(cid:3)(cid:42)(cid:93)(cid:92)(cid:3)(cid:95)(cid:80)(cid:73)(cid:92)(cid:3)(cid:78)(cid:93)(cid:86)(cid:3)(cid:95)(cid:87)(cid:93)(cid:84)(cid:76)(cid:3)(cid:92)(cid:80)(cid:73)(cid:92)(cid:3) (cid:74)(cid:77)(cid:39)(cid:3)(cid:54)(cid:87)(cid:20)(cid:3)(cid:95)(cid:77)(cid:188)(cid:90)(cid:77)(cid:3)(cid:79)(cid:87)(cid:81)(cid:86)(cid:79)(cid:3)(cid:92)(cid:87)(cid:3)(cid:197)(cid:79)(cid:93)(cid:90)(cid:77)(cid:3)(cid:87)(cid:93)(cid:92)(cid:3)(cid:73)(cid:3)(cid:91)(cid:87)(cid:84)(cid:93)(cid:92)(cid:81)(cid:87)(cid:86)(cid:3)(cid:92)(cid:80)(cid:77)(cid:3)(cid:87)(cid:84)(cid:76)(cid:21)(cid:78)(cid:73)(cid:91)(cid:80)(cid:81)(cid:87)(cid:86)(cid:77)(cid:76)(cid:3)(cid:95)(cid:73)(cid:97)(cid:184) (cid:74)(cid:97)(cid:3)(cid:73)(cid:88)(cid:88)(cid:84)(cid:97)(cid:81)(cid:86)(cid:79)(cid:3)(cid:79)(cid:87)(cid:87)(cid:76)(cid:3)(cid:55)(cid:55)(cid:3)(cid:91)(cid:87)(cid:78)(cid:92)(cid:95)(cid:73)(cid:90)(cid:77)(cid:3)(cid:76)(cid:77)(cid:91)(cid:81)(cid:79)(cid:86)(cid:3)(cid:88)(cid:90)(cid:81)(cid:86)(cid:75)(cid:81)(cid:88)(cid:84)(cid:77)(cid:91)(cid:22) (cid:58)(cid:82)(cid:88)(cid:79)(cid:71)(cid:81)(cid:183)(cid:87)(cid:3)(cid:76)(cid:87)(cid:3)(cid:69)(cid:72)(cid:3)(cid:71)(cid:85)(cid:72)(cid:68)(cid:80)(cid:92)(cid:3)(cid:76)(cid:73)(cid:3) (cid:82)(cid:81)(cid:79)(cid:92)(cid:3)(cid:87)(cid:75)(cid:72)(cid:85)(cid:72)(cid:3)(cid:90)(cid:72)(cid:85)(cid:72)(cid:3)(cid:68)(cid:3)(cid:90)(cid:68)(cid:92)(cid:3)(cid:87)(cid:82)(cid:3)(cid:69)(cid:88)(cid:76)(cid:79)(cid:71)(cid:3) (cid:86)(cid:82)(cid:73)(cid:87)(cid:90)(cid:68)(cid:85)(cid:72)(cid:3)(cid:86)(cid:82)(cid:3)(cid:87)(cid:75)(cid:68)(cid:87)(cid:3)(cid:90)(cid:75)(cid:72)(cid:81)(cid:3)(cid:90)(cid:72)(cid:3)(cid:81)(cid:72)(cid:72)(cid:71)(cid:3)(cid:87)(cid:82)(cid:3) (cid:70)(cid:75)(cid:68)(cid:81)(cid:74)(cid:72)(cid:3)(cid:76)(cid:87)(cid:15)(cid:3)(cid:90)(cid:72)(cid:3)(cid:70)(cid:82)(cid:88)(cid:79)(cid:71)(cid:3)(cid:71)(cid:82)(cid:3)(cid:86)(cid:82)(cid:3)(cid:90)(cid:76)(cid:87)(cid:75)(cid:3)(cid:87)(cid:75)(cid:72)(cid:3)(cid:79)(cid:72)(cid:68)(cid:86)(cid:87)(cid:3) (cid:83)(cid:82)(cid:86)(cid:86)(cid:76)(cid:69)(cid:79)(cid:72)(cid:3)(cid:76)(cid:80)(cid:83)(cid:68)(cid:70)(cid:87)(cid:3)(cid:82)(cid:81)(cid:3)(cid:87)(cid:75)(cid:72)(cid:3)(cid:72)(cid:91)(cid:76)(cid:86)(cid:87)(cid:76)(cid:81)(cid:74)(cid:3)(cid:70)(cid:82)(cid:71)(cid:72)(cid:34)(cid:3)(cid:3) (cid:58)(cid:72)(cid:3)(cid:70)(cid:82)(cid:88)(cid:79)(cid:71)(cid:3)(cid:86)(cid:83)(cid:72)(cid:81)(cid:71)(cid:3)(cid:79)(cid:72)(cid:86)(cid:86)(cid:3)(cid:87)(cid:76)(cid:80)(cid:72)(cid:3)(cid:85)(cid:72)(cid:90)(cid:82)(cid:85)(cid:78)(cid:76)(cid:81)(cid:74)(cid:3) (cid:70)(cid:82)(cid:71)(cid:72)(cid:3)(cid:68)(cid:81)(cid:71)(cid:3)(cid:80)(cid:82)(cid:85)(cid:72)(cid:3)(cid:80)(cid:68)(cid:78)(cid:76)(cid:81)(cid:74)(cid:3)(cid:87)(cid:75)(cid:72)(cid:3)(cid:83)(cid:85)(cid:82)(cid:74)(cid:85)(cid:68)(cid:80)(cid:3) (cid:71)(cid:82)(cid:3)(cid:70)(cid:82)(cid:82)(cid:79)(cid:72)(cid:85)(cid:3)(cid:87)(cid:75)(cid:76)(cid:81)(cid:74)(cid:86)(cid:17)(cid:17)(cid:17) (cid:92)(cid:82)(cid:88)(cid:3)(cid:68)(cid:85)(cid:72)(cid:3)(cid:75)(cid:72)(cid:85)(cid:72)(cid:3)(cid:23) (cid:26) Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra Prepared for Ann Cherkis, Safari ID: [email protected] ISBN: 0596007124 Publisher: O'Reilly Print Publication Date: 2004/10/25 User number: 1673621 Copyright 2008, Safari Books Online, LLC. This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that otherwise violates the Safari Terms of Service is strictly prohibited. www.it-ebooks.info Chapter 1. Welcome to Design Patterns Page 8 Return to Table of Contents (cid:70)(cid:75)(cid:68)(cid:81)(cid:74)(cid:72)(cid:3)(cid:76)(cid:86)(cid:3)(cid:70)(cid:82)(cid:81)(cid:86)(cid:87)(cid:68)(cid:81)(cid:87) (cid:60)(cid:80)(cid:77)(cid:3)(cid:87)(cid:86)(cid:77)(cid:3)(cid:75)(cid:87)(cid:86)(cid:91)(cid:92)(cid:73)(cid:86)(cid:92)(cid:3)(cid:81)(cid:86)(cid:3)(cid:91)(cid:87)(cid:78)(cid:92)(cid:95)(cid:73)(cid:90)(cid:77)(cid:3)(cid:76)(cid:77)(cid:94)(cid:77)(cid:84)(cid:87)(cid:88)(cid:85)(cid:77)(cid:86)(cid:92) (cid:55)(cid:83)(cid:73)(cid:97)(cid:20)(cid:3)(cid:95)(cid:80)(cid:73)(cid:92)(cid:188)(cid:91)(cid:3)(cid:92)(cid:80)(cid:77)(cid:3)(cid:87)(cid:86)(cid:77)(cid:3)(cid:92)(cid:80)(cid:81)(cid:86)(cid:79)(cid:3)(cid:97)(cid:87)(cid:93)(cid:3)(cid:75)(cid:73)(cid:86)(cid:3)(cid:73)(cid:84)(cid:95)(cid:73)(cid:97)(cid:91)(cid:3)(cid:75)(cid:87)(cid:93)(cid:86)(cid:92)(cid:3)(cid:87)(cid:86)(cid:3)(cid:81)(cid:86)(cid:3)(cid:91)(cid:87)(cid:78)(cid:92)(cid:95)(cid:73)(cid:90)(cid:77)(cid:3)(cid:76)(cid:77)(cid:94)(cid:77)(cid:84)(cid:87)(cid:88)(cid:85)(cid:77)(cid:86)(cid:92)(cid:39) (cid:54)(cid:87)(cid:3)(cid:85)(cid:73)(cid:92)(cid:92)(cid:77)(cid:90)(cid:3)(cid:95)(cid:80)(cid:77)(cid:90)(cid:77)(cid:3)(cid:97)(cid:87)(cid:93)(cid:3)(cid:95)(cid:87)(cid:90)(cid:83)(cid:20)(cid:3)(cid:95)(cid:80)(cid:73)(cid:92)(cid:3)(cid:97)(cid:87)(cid:93)(cid:188)(cid:90)(cid:77)(cid:3)(cid:74)(cid:93)(cid:81)(cid:84)(cid:76)(cid:81)(cid:86)(cid:79)(cid:20)(cid:3)(cid:87)(cid:90)(cid:3)(cid:95)(cid:80)(cid:73)(cid:92)(cid:3)(cid:84)(cid:73)(cid:86)(cid:79)(cid:93)(cid:73)(cid:79)(cid:77)(cid:3)(cid:97)(cid:87)(cid:93)(cid:3)(cid:73)(cid:90)(cid:77)(cid:3)(cid:88)(cid:90)(cid:87)(cid:79)(cid:90)(cid:73)(cid:85)(cid:85)(cid:81)(cid:86)(cid:79)(cid:3)(cid:81)(cid:86)(cid:20)(cid:3)(cid:95)(cid:80)(cid:73)(cid:92)(cid:188)(cid:91)(cid:3) (cid:92)(cid:80)(cid:77)(cid:3)(cid:87)(cid:86)(cid:77)(cid:3)(cid:92)(cid:90)(cid:93)(cid:77)(cid:3)(cid:75)(cid:87)(cid:86)(cid:91)(cid:92)(cid:73)(cid:86)(cid:92)(cid:3)(cid:92)(cid:80)(cid:73)(cid:92)(cid:3)(cid:95)(cid:81)(cid:84)(cid:84)(cid:3)(cid:74)(cid:77)(cid:3)(cid:95)(cid:81)(cid:92)(cid:80)(cid:3)(cid:97)(cid:87)(cid:93)(cid:3)(cid:73)(cid:84)(cid:95)(cid:73)(cid:97)(cid:91)(cid:39) (cid:40)(cid:42)(cid:49)(cid:36)(cid:43)(cid:38) (cid:16)(cid:93)(cid:91)(cid:77)(cid:3)(cid:73)(cid:3)(cid:85)(cid:81)(cid:90)(cid:90)(cid:87)(cid:90)(cid:3)(cid:92)(cid:87)(cid:3)(cid:91)(cid:77)(cid:77)(cid:3)(cid:92)(cid:80)(cid:77)(cid:3)(cid:73)(cid:86)(cid:91)(cid:95)(cid:77)(cid:90)(cid:17) (cid:54)(cid:87)(cid:3)(cid:85)(cid:73)(cid:92)(cid:92)(cid:77)(cid:90)(cid:3)(cid:80)(cid:87)(cid:95)(cid:3)(cid:95)(cid:77)(cid:84)(cid:84)(cid:3)(cid:97)(cid:87)(cid:93)(cid:3)(cid:76)(cid:77)(cid:91)(cid:81)(cid:79)(cid:86)(cid:3)(cid:73)(cid:86)(cid:3)(cid:73)(cid:88)(cid:88)(cid:84)(cid:81)(cid:75)(cid:73)(cid:92)(cid:81)(cid:87)(cid:86)(cid:20)(cid:3)(cid:87)(cid:94)(cid:77)(cid:90)(cid:3)(cid:92)(cid:81)(cid:85)(cid:77)(cid:3)(cid:73)(cid:86)(cid:3) (cid:73)(cid:88)(cid:88)(cid:84)(cid:81)(cid:75)(cid:73)(cid:92)(cid:81)(cid:87)(cid:86)(cid:3)(cid:85)(cid:93)(cid:91)(cid:92)(cid:3)(cid:79)(cid:90)(cid:87)(cid:95)(cid:3)(cid:73)(cid:86)(cid:76)(cid:3)(cid:75)(cid:80)(cid:73)(cid:86)(cid:79)(cid:77)(cid:3)(cid:87)(cid:90)(cid:3)(cid:81)(cid:92)(cid:3)(cid:95)(cid:81)(cid:84)(cid:84)(cid:3)(cid:76)(cid:81)(cid:77)(cid:22) (cid:54)(cid:75)(cid:68)(cid:85)(cid:83)(cid:72)(cid:81)(cid:92)(cid:82)(cid:88)(cid:85)(cid:83)(cid:72)(cid:81)(cid:70)(cid:76)(cid:79) (cid:47)(cid:82)(cid:87)(cid:86)(cid:3)(cid:82)(cid:73)(cid:3)(cid:87)(cid:75)(cid:76)(cid:81)(cid:74)(cid:86)(cid:3)(cid:70)(cid:68)(cid:81)(cid:3)(cid:71)(cid:85)(cid:76)(cid:89)(cid:72)(cid:3)(cid:70)(cid:75)(cid:68)(cid:81)(cid:74)(cid:72)(cid:17)(cid:3)(cid:47)(cid:76)(cid:86)(cid:87)(cid:3)(cid:86)(cid:82)(cid:80)(cid:72)(cid:3)(cid:85)(cid:72)(cid:68)(cid:86)(cid:82)(cid:81)(cid:86)(cid:3) (cid:92)(cid:82)(cid:88)(cid:183)(cid:89)(cid:72)(cid:3)(cid:75)(cid:68)(cid:71)(cid:3)(cid:87)(cid:82)(cid:3)(cid:70)(cid:75)(cid:68)(cid:81)(cid:74)(cid:72)(cid:3)(cid:70)(cid:82)(cid:71)(cid:72)(cid:3)(cid:76)(cid:81)(cid:3)(cid:92)(cid:82)(cid:88)(cid:85)(cid:3)(cid:68)(cid:83)(cid:83)(cid:79)(cid:76)(cid:70)(cid:68)(cid:87)(cid:76)(cid:82)(cid:81)(cid:86)(cid:3)(cid:11)(cid:90)(cid:72)(cid:3)(cid:83)(cid:88)(cid:87)(cid:3) (cid:76)(cid:81)(cid:3)(cid:68)(cid:3)(cid:70)(cid:82)(cid:88)(cid:83)(cid:79)(cid:72)(cid:3)(cid:82)(cid:73)(cid:3)(cid:82)(cid:88)(cid:85)(cid:3)(cid:82)(cid:90)(cid:81)(cid:3)(cid:87)(cid:82)(cid:3)(cid:74)(cid:72)(cid:87)(cid:3)(cid:92)(cid:82)(cid:88)(cid:3)(cid:86)(cid:87)(cid:68)(cid:85)(cid:87)(cid:72)(cid:71)(cid:12)(cid:17) (cid:48)(cid:92)(cid:3)(cid:70)(cid:88)(cid:86)(cid:87)(cid:82)(cid:80)(cid:72)(cid:85)(cid:86)(cid:3)(cid:82)(cid:85)(cid:3)(cid:88)(cid:86)(cid:72)(cid:85)(cid:86)(cid:3)(cid:71)(cid:72)(cid:70)(cid:76)(cid:71)(cid:72)(cid:3)(cid:87)(cid:75)(cid:72)(cid:92)(cid:3)(cid:90)(cid:68)(cid:81)(cid:87)(cid:3)(cid:86)(cid:82)(cid:80)(cid:72)(cid:87)(cid:75)(cid:76)(cid:81)(cid:74)(cid:3)(cid:72)(cid:79)(cid:86)(cid:72)(cid:15)(cid:3)(cid:82)(cid:85)(cid:3)(cid:87)(cid:75)(cid:72)(cid:92)(cid:3)(cid:90)(cid:68)(cid:81)(cid:87)(cid:3)(cid:81)(cid:72)(cid:90)(cid:3)(cid:73)(cid:88)(cid:81)(cid:70)(cid:87)(cid:76)(cid:82)(cid:81)(cid:68)(cid:79)(cid:76)(cid:87)(cid:92)(cid:17) (cid:48)(cid:92)(cid:3)(cid:70)(cid:82)(cid:80)(cid:83)(cid:68)(cid:81)(cid:92)(cid:3)(cid:71)(cid:72)(cid:70)(cid:76)(cid:71)(cid:72)(cid:71)(cid:3)(cid:76)(cid:87)(cid:3)(cid:76)(cid:86)(cid:3)(cid:74)(cid:82)(cid:76)(cid:81)(cid:74)(cid:3)(cid:90)(cid:76)(cid:87)(cid:75)(cid:3)(cid:68)(cid:81)(cid:82)(cid:87)(cid:75)(cid:72)(cid:85)(cid:3)(cid:71)(cid:68)(cid:87)(cid:68)(cid:69)(cid:68)(cid:86)(cid:72)(cid:3)(cid:89)(cid:72)(cid:81)(cid:71)(cid:82)(cid:85)(cid:3)(cid:68)(cid:81)(cid:71)(cid:3)(cid:76)(cid:87)(cid:3)(cid:76)(cid:86)(cid:3)(cid:68)(cid:79)(cid:86)(cid:82)(cid:3)(cid:83)(cid:88)(cid:85)(cid:70)(cid:75)(cid:68)(cid:86)(cid:76)(cid:81)(cid:74)(cid:3) (cid:76)(cid:87)(cid:86)(cid:3)(cid:71)(cid:68)(cid:87)(cid:68)(cid:3)(cid:73)(cid:85)(cid:82)(cid:80)(cid:3)(cid:68)(cid:81)(cid:82)(cid:87)(cid:75)(cid:72)(cid:85)(cid:3)(cid:86)(cid:88)(cid:83)(cid:83)(cid:79)(cid:76)(cid:72)(cid:85)(cid:3)(cid:87)(cid:75)(cid:68)(cid:87)(cid:3)(cid:88)(cid:86)(cid:72)(cid:86)(cid:3)(cid:68)(cid:3)(cid:71)(cid:76)(cid:73)(cid:73)(cid:72)(cid:85)(cid:72)(cid:81)(cid:87)(cid:3)(cid:71)(cid:68)(cid:87)(cid:68)(cid:3)(cid:73)(cid:82)(cid:85)(cid:80)(cid:68)(cid:87)(cid:17)(cid:3)(cid:36)(cid:85)(cid:74)(cid:75)(cid:4) (cid:27)(cid:3) (cid:38)(cid:75)(cid:68)(cid:83)(cid:87)(cid:72)(cid:85)(cid:3)(cid:20) Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra Prepared for Ann Cherkis, Safari ID: [email protected] ISBN: 0596007124 Publisher: O'Reilly Print Publication Date: 2004/10/25 User number: 1673621 Copyright 2008, Safari Books Online, LLC. This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that otherwise violates the Safari Terms of Service is strictly prohibited. www.it-ebooks.info