Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
www.it-ebooks.info 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 Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra ISBN: 0596007124 Publisher: O'Reilly Prepared for Ann Cherkis, Safari ID: maottw@gmail.com 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 WKLV�LV�D�QHZ�FKDSWHU � 6RPHRQH�KDV�DOUHDG\�VROYHG�\RXU�SUREOHPV��,Q�WKLV�FKDSWHU��\RX¶OO�OHDUQ� ZK\��DQG�KRZ��\RX�FDQ�H[SORLW�WKH�ZLVGRP�DQG�OHVVRQV�OHDUQHG�E\�RWKHU�GHYHORSHUV�ZKR¶YH� EHHQ�GRZQ�WKH�VDPH�GHVLJQ�SUREOHP�URDG�DQG�VXUYLYHG�WKH�WULS��%HIRUH�ZH¶UH�GRQH��ZH¶OO� ORRN�DW�WKH�XVH�DQG�EHQH¿�WV�RI�GHVLJQ�SDWWHUQV��ORRN�DW�VRPH�NH\�22�GHVLJQ�SULQFLSOHV��DQG� ZDON�WKURXJK�DQ�H[DPSOH�RI�KRZ�RQH�SDWWHUQ�ZRUNV��7KH�EHVW�ZD\�WR�XVH�SDWWHUQV�LV�WR�ORDG� \RXU�EUDLQ�ZLWK�WKHP�DQG�WKHQ�UHFRJQL]H�SODFHV�LQ�\RXU�GHVLJQV�DQG�H[LVWLQJ�DSSOLFDWLRQV� ZKHUH�\RX�FDQ�DSSO\�WKHP��,QVWHDG�RI�FRGH�UHXVH��ZLWK�SDWWHUQV�\RX�JHW�H[SHULHQFH�UHXVH� :HOFRPH�WR� ������'HVLJQ�3DWWHUQV ���Intro to Design Patterns 1RZ�WKDW�ZH·UH�OLYLQJ� LQ�2EMHFWYLOOH��ZH·YH�MXVW�JRW� WR�JHW�LQWR�'HVLJQ�3DWWHUQV���� HYHU\RQH�LV�GRLQJ�WKHP���6RRQ� ZH·OO�EH�WKH�KLW�RI�-LP�DQG� %HWW\·V�:HGQHVGD\�QLJKW� SDWWHUQV�JURXS� 4 5 4 Chapter 1. Welcome to Design Patterns Page 1 Return to Table of Contents Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra ISBN: 0596007124 Publisher: O'Reilly Prepared for Ann Cherkis, Safari ID: maottw@gmail.com 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 �� &KDSWHU�� 1\�[\IZ\ML�_Q\P�I�[QUXTM�;QU=,]KS�IXX 2WM�_WZS[�NWZ�I�KWUXIVa�\PI\�UISM[�I�PQOPTa�[]KKM[[N]T�L]KS�XWVL� [QU]TI\QWV�OIUM���;QU=,]KS���<PM�OIUM�KIV�[PW_�I�TIZOM�^IZQM\a�WN � L]KS�[XMKQM[�[_QUUQVO�IVL�UISQVO�Y]IKSQVO�[W]VL[���<PM�QVQ\QIT� LM[QOVMZ[�WN �\PM�[a[\MU�][ML�[\IVLIZL�77�\MKPVQY]M[�IVL�KZMI\ML� WVM�,]KS�[]XMZKTI[[�NZWU�_PQKP�ITT�W\PMZ�L]KS�\aXM[�QVPMZQ\� 'XFN TXDFN�� VZLP�� GLVSOD\�� ���27+(5�GXFN�OLNH�PHWKRGV��� GLVSOD\���^ ���ORRNV�OLNH�D�PDOODUG�` 0DOODUG'XFN GLVSOD\���^ ���ORRNV�OLNH�D�UHGKHDG�` 5HGKHDG'XFN /RWV�RI�RWKHU �W\SHV�RI�GXFN V� LQKHULW�IURP�W KH�'XFN�FODVV��(D FK�GXF N�VXEW\ SH� LV�UHVSR QVLEOH�I RU� LPSOHPH QWLQJ�L WV�RZQ � GLVSOD\ ���EHKD YLRU� IRU�KR Z�LW�OR RNV�RQ� WKH�VFU HHQ� $OO�GXFNV�TXDFN�DQG�VZLP��WKH� VXSHUFODVV�WDNHV�FDUH�RI�WKH� LPSOHPHQWDWLRQ�FRGH� 1V�\PM�TI[\�aMIZ��\PM�KWUXIVa�PI[�JMMV�]VLMZ�QVKZMI[QVO�XZM[[]ZM� NZWU�KWUXM\Q\WZ[���)N\MZ�I�_MMS�TWVO�WNN�[Q\M�JZIQV[\WZUQVO� [M[[QWV�W^MZ�OWTN��\PM�KWUXIVa�M`MK]\Q^M[�\PQVS�Q\¼[�\QUM�NWZ�I�JQO� QVVW^I\QWV��<PMa�VMML�[WUM\PQVO�ZMITTa�QUXZM[[Q^M�\W�[PW_�I\�\PM� ]XKWUQVO�[PIZMPWTLMZ[�UMM\QVO�QV�5I]Q�VM`\�_MMS� 7KH�GLVSOD\���PHWKRG�LV� DEVWUDFW��VLQFH�DOO�GXFN� VXEW\SHV�ORRN�GLIIHUHQW� 6LP8'XFN Chapter 1. Welcome to Design Patterns Page 2 Return to Table of Contents Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra ISBN: 0596007124 Publisher: O'Reilly Prepared for Ann Cherkis, Safari ID: maottw@gmail.com 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 LQWUR�WR�'HVLJQ�3DWWHUQV \RX�DUH�KHUH�� � -RH ,�MXVW�QHHG�WR�DGG�D�Á�\��� PHWKRG�LQ�WKH�'XFN�FODVV�DQG� WKHQ�DOO�WKH�GXFNV�ZLOO�LQKHULW�LW�� 1RZ·V�P\�WLPH�WR�UHDOO\�VKRZ�P\� WUXH�22�JHQLXV� $OO�VXE FODVVHV � LQKHULW �IO\��� :KDW�-RH�DGGH G� <PM�M`MK]\Q^M[�LMKQLML�\PI\�Æ�aQVO�L]KS[�Q[�R][\�_PI\�\PM� [QU]TI\WZ�VMML[�\W�JTW_�I_Ia�\PM�W\PMZ�L]KS�[QU�KWUXM\Q\WZ[�� )VL�WN �KW]Z[M�2WM¼[�UIVIOMZ�\WTL�\PMU�Q\¼TT�JM�VW�XZWJTMU� NWZ�2WM�\W�R][\�_PQX�[WUM\PQVO�]X�QV�I�_MMS��¹)N\MZ�ITTº��[IQL� 2WM¼[�JW[[��¹PM¼[�IV�77�XZWOZIUUMZ����PW_�PIZL�KIV�Q\�JM'º *]\�VW_�_M�VMML�\PM�L]KS[�\W�.4A 2WKHU�'XFN�W\ SHV���� 'XFN TXDFN�� VZLP�� GLVSOD\�� IO\�� ���27+(5�GXFN�OLNH�PHWKRGV��� GLVSOD\���^ ���ORRNV�OLNH�D�PDOODUG�` 0DOODUG'XFN GLVSOD\���^ ���ORRNV�OLNH�D�UHGKHDG�` 5HGKHDG'XFN :KDW�ZH�ZDQW� Chapter 1. Welcome to Design Patterns Page 3 Return to Table of Contents Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra ISBN: 0596007124 Publisher: O'Reilly Prepared for Ann Cherkis, Safari ID: maottw@gmail.com 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 �� &KDSWHU�� :KDW�KH�WKRXJKW� ZDV�D�JUHDW�XVH� RI�LQKHULWDQFH� IRU�WKH�SXUSRVH� RI�UHXVH�KDVQ·W� WXUQHG�RXW�VR�ZHOO� ZKHQ�LW�FRPHV�WR� PDLQWHQDQFH� 2.��VR�WKHUH·V�D�VOLJKW� Á�DZ�LQ�P\�GHVLJQ��,� GRQ·W�VHH�ZK\�WKH\�FDQ·W� MXVW�FDOO�LW�D�´IHDWXUHµ�� ,W·V�NLQG�RI�FXWH��� -RH��,·P�DW�WKH� VKDUHKROGHU·V�PHHWLQJ��� 7KH\�MXVW�JDYH�D�GHPR�DQG�WKHUH� ZHUH�UXEEHU�GXFNLHV�Á�\LQJ�DURXQG� WKH�VFUHHQ��:DV�WKLV�\RXU�LGHD�RI� D�MRNH"�<RX�PLJKW�ZDQW�WR�VSHQG� VRPH�WLPH�RQ�0RQVWHU�FRP��� 2WM�NIQTML�\W�VW\QKM�\PI\�VW\�ITT� []JKTI[[M[�WN �,]KS�[PW]TL�Æ�a��?PMV� 2WM�ILLML�VM_�JMPI^QWZ�\W�\PM� ,]KS�[]XMZKTI[[��PM�_I[�IT[W�ILLQVO� JMPI^QWZ�\PI\�_I[�VW\�IXXZWXZQI\M� NWZ�[WUM�,]KS�[]JKTI[[M[��0M�VW_� PI[�Æ�aQVO�QVIVQUI\M�WJRMK\[�QV�\PM� ;QU=,]KS�XZWOZIU� )�TWKITQbML�]XLI\M�\W�\PM�KWLM�KI][ML�I�VWV� TWKIT�[QLM�MNNMK\��Æ�aQVO�Z]JJMZ�L]KS[� :KDW�KDSSHQHG"�� TXDFN�� VZLP�� GLVSOD\�� IO\�� ���27+(5�GXFN�OLNH�PHWKRGV��� GLVSOD\���^ ���ORRNV�OLNH�D�PDOODUG� ` 0DOODUG'XFN GLVSOD\���^ ���ORRNV�OLNH�D�UHGKHDG� ` 5HGKHDG'XFN TXDFN���^ �����RYHUULGGHQ�WR�6TXHDN ` GLVSOD\���^ ���ORRNV�OLNH�D�UXEEHUGXFN� ` 5XEEHU'XFN 'XFN 5XEEHU�GXFNV�GRQ ·W�TXDFN�� VR�TXDFN���LV�RYHU UULGGHQ� WR�´6TXHDNµ� %\�SXW WLQJ�I O\���LQ �WKH� VXSHUF ODVV��K H�JDYH �IO\LQJ � DELOLW\ �WR�$/ /�GXF NV�� LQFOXGL QJ�WKR VH�WKD W� VKRXOG Q·W� *]\�[WUM\PQVO�_MV\�PWZZQJTa�_ZWVO��� VRPHWKLQJ�ZHQW�ZURQJ Chapter 1. Welcome to Design Patterns Page 4 Return to Table of Contents Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra ISBN: 0596007124 Publisher: O'Reilly Prepared for Ann Cherkis, Safari ID: maottw@gmail.com 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 LQWUR�WR�'HVLJQ�3DWWHUQV \RX�DUH�KHUH�� � 2WM�\PQVS[�IJW]\�QVPMZQ\IVKM���� ,�FRXOG�DOZD\V�MXVW� RYHUULGH�WKH�Á�\���PHWKRG�LQ� UXEEHU�GXFN��WKH�ZD\�,�DP�ZLWK� WKH�TXDFN���PHWKRG��� TXDFN����^����VTXHDN` GLVSOD\���^�����UXEEHU�GXFN�` IO\���^ ������RYHUULGH�WR�GR�QRWKLQJ ` 5XEEHU'XFN 6KDUSHQ \RXU SHQFLO R���)�� +WLM�Q[�L]XTQKI\ML�IKZW[[�[]JKTI[[M[� R���*�� :]V\QUM�JMPI^QWZ�KPIVOM[�IZM�LQNÅ�K]T\� R���+��?M�KIV¼\�UISM�L]KS[�LIVKM� R���,�� 0IZL�\W�OIQV�SVW_TMLOM�WN �ITT�L]KS�JMPI^QWZ[� R���-�� ,]KS[�KIV¼\�Æ�a�IVL�Y]IKS�I\�\PM�[IUM�\QUM� R���.�� +PIVOM[�KIV�]VQV\MV\QWVITTa�INNMK\�W\PMZ�L]KS[� ?PQKP�WN �\PM�NWTTW_QVO��IZM��LQ[IL^IV\IOM[�WN �][QVO�QVPMZQ\IVKM�\W� XZW^QLM�,]KS�JMPI^QWZ'���+PWW[M�ITT�\PI\�IXXTa�� TXDFN���^ �����RYHUULGH�WR�GR�QRWKLQJ ` GLVSOD\���^����GHFR\�GXFN` IO\���^ �����RYHUULGH�WR�GR�QRWKLQJ ` 'HFR\'XFN +HUH·V�DQRWKH U�FODVV�LQ�WKH � KLHUDUFK\��QR WLFH�WKDW�OLN H� 5XEEHU'XFN� �LW�GRHVQ·W�I O\�� EXW�LW�DOVR�G RHVQ·W�TXDFN� %XW�WKHQ�ZKDW�KDSSHQV�ZKHQ� ZH�DGG�ZRRGHQ�GHFR\�GXFNV� WR�WKH�SURJUDP"�7KH\�DUHQ·W� VXSSRVHG�WR�Á�\�RU�TXDFN��� Chapter 1. Welcome to Design Patterns Page 5 Return to Table of Contents Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra ISBN: 0596007124 Publisher: O'Reilly Prepared for Ann Cherkis, Safari ID: maottw@gmail.com 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 �� &KDSWHU�� ,�FRXOG�WDNH�WKH�Á�\���RXW�RI�WKH� 'XFN�VXSHUFODVV��DQG�PDNH�D� )O\DEOH���LQWHUIDFH�ZLWK�D�Á�\��� PHWKRG��7KDW�ZD\��RQO\�WKH�GXFNV�WKDW� DUH�VXSSRVHG�WR�Á�\�ZLOO�LPSOHPHQW�WKDW� LQWHUIDFH�DQG�KDYH�D�Á�\���PHWKRG����DQG� ,�PLJKW�DV�ZHOO�PDNH�D�4XDFNDEOH��WRR�� VLQFH�QRW�DOO�GXFNV�FDQ�TXDFN�� GLVSOD\��� IO\�� TXDFN�� 0DOODUG'XFN GLVSOD\�� IO\�� TXDFN�� 5HGKHDG'XFN GLVSOD\�� TXDFN�� 5XEEHU'XFN VZLP�� GLVSOD\�� ���27+(5�GXFN�OLNH�PHWKRGV��� 'XFN GLVSOD\�� 'HFR\'XFN IO\�� )O\DEOH TXDFN�� 4XDFNDEOH 0W_�IJW]\�IV�QV\MZNIKM' 2WM�ZMITQbML�\PI\�QVPMZQ\IVKM�XZWJIJTa�_I[V¼\�\PM� IV[_MZ��JMKI][M�PM�R][\�OW\�I�UMUW�\PI\�[Ia[�\PI\� \PM�M`MK]\Q^M[�VW_�_IV\�\W�]XLI\M�\PM�XZWL]K\�M^MZa� [Q`�UWV\P[��QV�_Ia[�\PMa�PI^MV¼\�aM\�LMKQLML�WV���2WM� SVW_[�\PM�[XMK�_QTT�SMMX�KPIVOQVO�IVL�PM¼TT�JM�NWZKML� \W�TWWS�I\�IVL�XW[[QJTa�W^MZZQLM�Æ�a���IVL�Y]IKS���NWZ� M^MZa�VM_�,]KS�[]JKTI[[�\PI\¼[�M^MZ�ILLML�\W�\PM� XZWOZIU����NWZM^MZ�� ;W��PM�VMML[�I�KTMIVMZ�_Ia�\W�PI^M�WVTa�[WUM��J]\�VW\� ITT��WN �\PM�L]KS�\aXM[�Æ�a�WZ�Y]IKS� :KDW�GR�<28�WKLQN�DERXW�WKLV�GHVLJQ" LQKHULWDQFH�LV�QRW�WKH�DQVZHU Chapter 1. Welcome to Design Patterns Page 6 Return to Table of Contents Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra ISBN: 0596007124 Publisher: O'Reilly Prepared for Ann Cherkis, Safari ID: maottw@gmail.com 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 LQWUR�WR�'HVLJQ�3DWWHUQV \RX�DUH�KHUH�� � 7KDW�LV��OLNH��WKH�GXPEHVW�LGHD� \RX·YH�FRPH�XS�ZLWK��&DQ�\RX�VD\�� ´GXSOLFDWH�FRGHµ"�,I�\RX�WKRXJKW� KDYLQJ�WR�RYHUULGH�D�IHZ�PHWKRGV�ZDV�EDG�� KRZ�DUH�\RX�JRQQD�IHHO�ZKHQ�\RX�QHHG� WR�PDNH�D�OLWWOH�FKDQJH�WR�WKH�Á\LQJ� EHKDYLRU����LQ�DOO����RI�WKH�Á\LQJ� 'XFN�VXEFODVVHV"� ?PI\�_W]TL�aW]�LW�QN�aW]�_MZM�2WM' ?M�SVW_�\PI\�VW\�ITT�WN �\PM�[]JKTI[[M[�[PW]TL�PI^M�ÆaQVO�WZ�Y]IKSQVO� JMPI^QWZ��[W�QVPMZQ\IVKM�Q[V¼\�\PM�ZQOP\�IV[_MZ��*]\�_PQTM�PI^QVO� \PM�[]JKTI[[M[�QUXTMUMV\�.TaIJTM�IVL�WZ�9]IKSIJTM�[WT^M[�XIZ\�WN � \PM�XZWJTMU��VW�QVIXXZWXZQI\MTa�ÆaQVO�Z]JJMZ�L]KS[���Q\�KWUXTM\MTa� LM[\ZWa[�KWLM�ZM][M�NWZ�\PW[M�JMPI^QWZ[��[W�Q\�R][\�KZMI\M[�I�LQNNMZMV\� UIQV\MVIVKM�VQOP\UIZM��)VL�WN �KW]Z[M�\PMZM�UQOP\�JM�UWZM�\PIV� WVM�SQVL�WN �ÆaQVO�JMPI^QWZ�M^MV�IUWVO�\PM�L]KS[�\PI\�LW�Æa��� )\�\PQ[�XWQV\�aW]�UQOP\�JM�_IQ\QVO�NWZ�I�,M[QOV�8I\\MZV�\W�KWUM� ZQLQVO�QV�WV�I�_PQ\M�PWZ[M�IVL�[I^M�\PM�LIa��*]\�_PI\�N]V�_W]TL�\PI\� JM'�6W��_M¼ZM�OWQVO�\W�ÅO]ZM�W]\�I�[WT]\QWV�\PM�WTL�NI[PQWVML�_Ia¸ Ja�IXXTaQVO�OWWL�77�[WN\_IZM�LM[QOV�XZQVKQXTM[� :RXOGQ·W�LW�EH�GUHDP\�LI� RQO\�WKHUH�ZHUH�D�ZD\�WR�EXLOG� VRIWZDUH�VR�WKDW�ZKHQ�ZH�QHHG�WR� FKDQJH�LW��ZH�FRXOG�GR�VR�ZLWK�WKH�OHDVW� SRVVLEOH�LPSDFW�RQ�WKH�H[LVWLQJ�FRGH"�� :H�FRXOG�VSHQG�OHVV�WLPH�UHZRUNLQJ� FRGH�DQG�PRUH�PDNLQJ�WKH�SURJUDP� GR�FRROHU�WKLQJV��� Chapter 1. Welcome to Design Patterns Page 7 Return to Table of Contents Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra ISBN: 0596007124 Publisher: O'Reilly Prepared for Ann Cherkis, Safari ID: maottw@gmail.com 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 �� &KDSWHU�� 7SIa��_PI\¼[�\PM�WVM�\PQVO�aW]�KIV�IT_Ia[�KW]V\�WV�QV�[WN\_IZM�LM^MTWXUMV\' 6W�UI\\MZ�_PMZM�aW]�_WZS��_PI\�aW]¼ZM�J]QTLQVO��WZ�_PI\�TIVO]IOM�aW]�IZM�XZWOZIUUQVO�QV��_PI\¼[� \PM�WVM�\Z]M�KWV[\IV\�\PI\�_QTT�JM�_Q\P�aW]�IT_Ia[' <PM�WVM�KWV[\IV\�QV�[WN\_IZM�LM^MTWXUMV\ &+$1*( �][M�I�UQZZWZ�\W�[MM�\PM�IV[_MZ� 6W�UI\\MZ�PW_�_MTT�aW]�LM[QOV�IV�IXXTQKI\QWV��W^MZ�\QUM�IV� IXXTQKI\QWV�U][\�OZW_�IVL�KPIVOM�WZ�Q\�_QTT�LQM� 6KDUSHQ \RXU SHQFLO /RWV�RI�WKLQJV�FDQ�GULYH�FKDQJH��/LVW�VRPH�UHDVRQV� \RX·YH�KDG�WR�FKDQJH�FRGH�LQ�\RXU�DSSOLFDWLRQV��ZH�SXW� LQ�D�FRXSOH�RI�RXU�RZQ�WR�JHW�\RX�VWDUWHG�� 0\�FXVWRPHUV�RU�XVHUV�GHFLGH�WKH\�ZDQW�VRPHWKLQJ�HOVH��RU�WKH\�ZDQW�QHZ�IXQFWLRQDOLW\� 0\�FRPSDQ\�GHFLGHG�LW�LV�JRLQJ�ZLWK�DQRWKHU�GDWDEDVH�YHQGRU�DQG�LW�LV�DOVR�SXUFKDVLQJ� LWV�GDWD�IURP�DQRWKHU�VXSSOLHU�WKDW�XVHV�D�GLIIHUHQW�GDWD�IRUPDW��$UJK� FKDQJH�LV�FRQVWDQW Chapter 1. Welcome to Design Patterns Page 8 Return to Table of Contents Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra ISBN: 0596007124 Publisher: O'Reilly Prepared for Ann Cherkis, Safari ID: maottw@gmail.com 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 LQWUR�WR�'HVLJQ�3DWWHUQV \RX�DUH�KHUH�� � ;W�_M�SVW_�][QVO�QVPMZQ\IVKM�PI[V¼\�_WZSML�W]\�^MZa�_MTT��[QVKM� \PM�L]KS�JMPI^QWZ�SMMX[�KPIVOQVO�IKZW[[�\PM�[]JKTI[[M[��IVL�Q\¼[� VW\�IXXZWXZQI\M�NWZ�ITT�[]JKTI[[M[�\W�PI^M�\PW[M�JMPI^QWZ[��<PM� .TaIJTM�IVL�9]IKSIJTM�QV\MZNIKM�[W]VLML�XZWUQ[QVO�I\�ÅZ[\¸WVTa� L]KS[�\PI\�ZMITTa�LW�Æa�_QTT�JM�.TaIJTM��M\K�¸M`KMX\�2I^I�QV\MZNIKM[� PI^M�VW�QUXTMUMV\I\QWV�KWLM��[W�VW�KWLM�ZM][M��)VL�\PI\�UMIV[� \PI\�_PMVM^MZ�aW]�VMML�\W�UWLQNa�I�JMPI^QWZ��aW]¼ZM�NWZKML�\W� \ZIKS�LW_V�IVL�KPIVOM�Q\�QV�ITT�\PM�LQNNMZMV\�[]JKTI[[M[�_PMZM�\PI\� JMPI^QWZ�Q[�LMÅVML��XZWJIJTa�QV\ZWL]KQVO�VM_�J]O[�ITWVO�\PM�_Ia 4]KSQTa��\PMZM¼[�I�LM[QOV�XZQVKQXTM�NWZ�R][\�\PQ[�[Q\]I\QWV� BMZWQVO�QV�WV�\PM�XZWJTMU��� 1V�W\PMZ�_WZL[��QN �aW]¼^M�OW\�[WUM�I[XMK\�WN �aW]Z�KWLM�\PI\�Q[� KPIVOQVO��[Ia�_Q\P�M^MZa�VM_�ZMY]QZMUMV\��\PMV�aW]�SVW_�aW]¼^M� OW\�I�JMPI^QWZ�\PI\�VMML[�\W�JM�X]TTML�W]\�IVL�[MXIZI\ML�NZWU�ITT� \PM�[\]NN �\PI\�LWM[V¼\�KPIVOM�� 0MZM¼[�IVW\PMZ�_Ia�\W�\PQVS�IJW]\�\PQ[�XZQVKQXTM"�\ISM�\PM�XIZ\[� \PI\�^IZa�IVL�MVKIX[]TI\M�\PMU��[W�\PI\�TI\MZ�aW]�KIV� IT\MZ�WZ�M`\MVL�\PM�XIZ\[�\PI\�^IZa�_Q\PW]\�INNMK\QVO� \PW[M�\PI\�LWV¼\��� )[�[QUXTM�I[�\PQ[�KWVKMX\�Q[��Q\�NWZU[�\PM�JI[Q[�NWZ�ITUW[\�M^MZa� LM[QOV�XI\\MZV��)TT�XI\\MZV[�XZW^QLM�I�_Ia�\W�TM\�[WUM�XIZ\�WN �I�[a[\MU� ^IZa�QVLMXMVLMV\Ta�WN �ITT�W\PMZ�XIZ\[� 7SIa��\QUM�\W�X]TT�\PM�L]KS�JMPI^QWZ�W]\�WN �\PM�,]KS�KTI[[M[ 7DNH�ZKDW�YDULHV�DQG� ´HQFDSVXODWHµ�LW�VR�LW�ZRQ·W� DIIHFW�WKH�UHVW�RI�\RXU�FRGH� 7KH�UHVXOW"��)HZHU� XQLQWHQGHG�FRQVHTXHQFHV� IURP�FRGH�FKDQJHV�DQG�PRUH� I�OH[LELOLW\�LQ�\RXU�V\VWHPV� 'HVLJQ�3ULQFLSOH ,GHQWLI\�WKH�DVSHFWV�RI�\RXU� DSSOLFDWLRQ�WKDW�YDU\�DQG�VHSDUDWH� WKHP�IURP�ZKDW�VWD\V�WKH�VDPH�� 2XU�ILUVW�RI�PDQ\�GHVLJQ� SULQFLSOHV��:H·OO�VSHQG�PRUH�WLPH� RQ�WKHVH�WKUXRJKRXW�WKH�ERRN� Chapter 1. Welcome to Design Patterns Page 9 Return to Table of Contents Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra ISBN: 0596007124 Publisher: O'Reilly Prepared for Ann Cherkis, Safari ID: maottw@gmail.com 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 ��� &KDSWHU�� ;MXIZI\QVO�_PI\�KPIVOM[�NZWU�_PI\�[\Ia[�\PM�[IUM 'XFN�FODVV 7KH�'XFN�FODVV�LV�VWLOO�WKH�V XSHUFODVV� RI�DOO�GXFNV��EXW�ZH�DUH�SXOO LQJ�RXW� WKH�IO\�DQG�TXDFN�EHKDYLRUV �DQG� SXWWLQJ�WKHP�LQWR�DQRWKHU�F ODVV� VWUXFWXUH� 9DULRXV�EHKDYLRU� LPSOHPHQWDWLRQV�DUH�JRLQJ� WR�OLYH�KHUH�1RZ�IO\LQJ�DQG�TXDF NLQJ�HDFK�JHW� WKHLU�RZQ�VHW�RI�FODVVHV� 'XFN�%HKDYLRUV 4XDFNLQJ�%HKD YLRU V )O\LQJ�%HKDYL RUV 3XOO�RXW�ZKDW�YDULHV� ?PMZM�LW�_M�[\IZ\'��)[�NIZ�I[�_M�KIV�\MTT��W\PMZ�\PIV�\PM�XZWJTMU[�_Q\P�Æa���IVL�Y]IKS����\PM�,]KS� KTI[[�Q[�_WZSQVO�_MTT�IVL�\PMZM�IZM�VW�W\PMZ�XIZ\[�WN �Q\�\PI\�IXXMIZ�\W�^IZa�WZ�KPIVOM�NZMY]MV\Ta��� ;W��W\PMZ�\PIV�I�NM_�[TQOP\�KPIVOM[��_M¼ZM�OWQVO�\W�XZM\\a�U]KP�TMI^M�\PM�,]KS�KTI[[�ITWVM� 6W_��\W�[MXIZI\M�\PM�¹XIZ\[�\PI\�KPIVOM�NZWU�\PW[M�\PI\�[\Ia�\PM�[IUMº��_M�IZM�OWQVO�\W�KZMI\M�\_W� [M\[�WN �KTI[[M[��\W\ITTa�IXIZ\�NZWU�,]KS���WVM�NWZ�Æa�IVL�WVM�NWZ�Y]IKS���-IKP�[M\�WN �KTI[[M[�_QTT�PWTL� ITT�\PM�QUXTMUMV\I\QWV[�WN �\PMQZ�ZM[XMK\Q^M�JMPI^QWZ���.WZ�QV[\IVKM��_M�UQOP\�PI^M�WVM�KTI[[�\PI\� QUXTMUMV\[�Y]IKSQVO��IVW\PMZ�\PI\�QUXTMUMV\[�[Y]MISQVO��IVL�IVW\PMZ�\PI\�QUXTMUMV\[�[QTMVKM�� :H�NQRZ�WKDW�Á\���DQG�TXDFN���DUH�WKH�SDUWV�RI�WKH� 'XFN�FODVV�WKDW�YDU\�DFURVV�GXFNV� 7R�VHSDUDWH�WKHVH�EHKDYLRUV�IURP�WKH�'XFN�FODVV��ZH·OO� SXOO�ERWK�PHWKRGV�RXW�RI�WKH�'XFN�FODVV�DQG�FUHDWH�D� QHZ�VHW�RI�FODVVHV�WR�UHSUHVHQW�HDFK�EHKDYLRU� SXOO�RXW�ZKDW�YDULHV Chapter 1. Welcome to Design Patterns Page 10 Return to Table of Contents Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra ISBN: 0596007124 Publisher: O'Reilly Prepared for Ann Cherkis, Safari ID: maottw@gmail.com 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 LQWUR�WR�'HVLJQ�3DWWHUQV \RX�DUH�KHUH�� �� ;W�PW_�IZM�_M�OWQVO�\W�LM[QOV�\PM�[M\�WN �KTI[[M[�\PI\� QUXTMUMV\�\PM�Æ�a�IVL�Y]IKS�JMPI^QWZ['�� ?M¼L�TQSM�\W�SMMX�\PQVO[�Æ�M`QJTM#�IN\MZ�ITT��Q\�_I[�\PM�QVÆ�M`QJQTQ\a�QV� \PM�L]KS�JMPI^QWZ[�\PI\�OW\�][�QV\W�\ZW]JTM�QV�\PM�Å�Z[\�XTIKM��)VL�_M� SVW_�\PI\�_M�_IV\�\W�I[[QOV�JMPI^QWZ[�\W�\PM�QV[\IVKM[�WN �,]KS��.WZ� M`IUXTM��_M�UQOP\�_IV\�\W�QV[\IV\QI\M�I�VM_�5ITTIZL,]KS�QV[\IVKM� IVL�QVQ\QITQbM�Q\�_Q\P�I�[XMKQÅ�K�\aXM�WN �Æ�aQVO�JMPI^QWZ��)VL�_PQTM� _M¼ZM�\PMZM��_Pa�VW\�UISM�[]ZM�\PI\�_M�KIV�KPIVOM�\PM�JMPI^QWZ�WN � I�L]KS�LaVIUQKITTa'�1V�W\PMZ�_WZL[��_M�[PW]TL�QVKT]LM�JMPI^QWZ� [M\\MZ�UM\PWL[�QV�\PM�,]KS�KTI[[M[�[W�\PI\�_M�KIV��[Ia��KPIVOM�\PM� 5ITTIZL,]KS¼[�Æ�aQVO�JMPI^QWZ�I\�Z]V\QUM� /Q^MV�\PM[M�OWIT[��TM\¼[�TWWS�I\�W]Z�[MKWVL�LM[QOV�XZQVKQXTM" ,M[QOVQVO�\PM�,]KS�*MPI^QWZ[ 'HVLJQ�3ULQFLSOH ��3URJUDP�WR�DQ�LQWHUIDFH��QRW�DQ� LPSOHPHQWDWLRQ� ?M¼TT�][M�IV�QV\MZNIKM�\W�ZMXZM[MV\�MIKP�JMPI^QWZ�·�NWZ�QV[\IVKM�� .Ta*MPI^QWZ�IVL�9]IKS*MPI^QWZ�·�IVL�MIKP�QUXTMUMV\I\QWV�WN �I� JMPI^QWZ�_QTT�QUXTMUMV\�WVM�WN �\PW[M�QV\MZNIKM[�� ;W�\PQ[�\QUM�Q\�_WV¼\�JM�\PM�,]KS�KTI[[M[�\PI\�_QTT�QUXTMUMV\�\PM� Æ�aQVO�IVL�Y]IKSQVO�QV\MZNIKM[��1V[\MIL��_M¼TT�UISM�I�[M\�WN �KTI[[M[� _PW[M�MV\QZM�ZMI[WV�NWZ�TQ^QVO�Q[�\W�ZMXZM[MV\�I�JMPI^QWZ��NWZ�M`IUXTM�� ¹[Y]MISQVOº���IVL�Q\¼[�\PM��JMPI^QWZ�KTI[[��ZI\PMZ�\PIV�\PM�,]KS�KTI[[�� \PI\�_QTT�QUXTMUMV\�\PM�JMPI^QWZ�QV\MZNIKM� <PQ[�Q[�QV�KWV\ZI[\�\W�\PM�_Ia�_M�_MZM�LWQVO�\PQVO[�JMNWZM��_PMZM� I�JMPI^QWZ�MQ\PMZ�KIUM�NZWU�I�KWVKZM\M�QUXTMUMV\I\QWV�QV�\PM� []XMZKTI[[�,]KS��WZ�Ja�XZW^QLQVO�I�[XMKQITQbML�QUXTMUMV\I\QWV�QV�\PM� []JKTI[[�Q\[MTN���1V�JW\P�KI[M[�_M�_MZM�ZMTaQVO�WV�IV�QUXTMUMV\I\QWV��?M� _MZM�TWKSML�QV\W�][QVO�\PI\�[XMKQÅ�K�QUXTMUMV\I\QWV�IVL�\PMZM�_I[�VW� ZWWU�NWZ�KPIVOQVO�W]\�\PM�JMPI^QWZ��W\PMZ�\PIV�_ZQ\QVO�UWZM�KWLM�� ?Q\P�W]Z�VM_�LM[QOV��\PM�,]KS�[]JKTI[[M[�_QTT�][M�I�JMPI^QWZ� ZMXZM[MV\ML�Ja�IV�QV\MZNIKM��.Ta*MPI^QWZ�IVL�9]IKS*MPI^QWZ���[W�\PI\� \PM�IK\]IT�QUXTMUMV\I\QWV�WN �\PM�JMPI^QWZ��QV�W\PMZ�_WZL[��\PM�[XMKQÅ�K� KWVKZM\M�JMPI^QWZ�KWLML�QV�\PM�KTI[[�\PI\�QUXTMUMV\[�\PM�.Ta*MPI^QWZ� WZ�9]IKS*MPI^QWZ��_WV¼\�JM�TWKSML�QV\W�\PM�,]KS�[]JKTI[[� )URP�QRZ�RQ��WKH�'XFN� EHKDYLRUV�ZLOO�OLYH�LQ�D� VHSDUDWH�FODVV³D�FODVV�WKDW� LPSOHPHQWV�D�SDUWLFXODU� EHKDYLRU�LQWHUIDFH� 7KDW�ZD\��WKH�'XFN�FODVVHV� ZRQ·W�QHHG�WR�NQRZ�DQ\�RI� WKH�LPSOHPHQWDWLRQ�GHWDLOV� IRU�WKHLU�RZQ�EHKDYLRUV� ��LQWHUIDFH!! )O\%HKDYLRU IO\�� IO\���^ �����LPSOHPHQWV�GXFN�IO\LQJ ` )O\:LWK:LQJV IO\���^ �����GR�QRWKLQJ���FDQ·W�IO\� ` )O\1R:D\ Chapter 1. Welcome to Design Patterns Page 11 Return to Table of Contents Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra ISBN: 0596007124 Publisher: O'Reilly Prepared for Ann Cherkis, Safari ID: maottw@gmail.com 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 ��� &KDSWHU�� <PM�_WZL��QV\MZNIKM�Q[�W^MZTWILML�PMZM��<PMZM¼[�\PM�KWVKMX\�WN � QV\MZNIKM��J]\�\PMZM¼[�IT[W�\PM�2I^I�KWV[\Z]K\�LQWHUIDFH��AW]� KIV�XZWOZIU�\W�IV�QV\MZNIKM��_Q\PW]\�PI^QVO�\W�IK\]ITTa�][M�I� 2I^I�LQWHUIDFH��<PM�XWQV\�Q[�\W�M`XTWQ\�XWTaUWZXPQ[U�Ja� XZWOZIUUQVO�\W�I�[]XMZ\aXM�[W�\PI\�\PM�IK\]IT�Z]V\QUM�WJRMK\� Q[V¼\�TWKSML�QV\W�\PM�KWLM��)VL�_M�KW]TL�ZMXPZI[M�¹XZWOZIU�\W� I�[]XMZ\aXMº�I[�¹\PM�LMKTIZML�\aXM�WN �\PM�^IZQIJTM[�[PW]TL�JM�I� []XMZ\aXM��][]ITTa�IV�IJ[\ZIK\�KTI[[�WZ�QV\MZNIKM��[W�\PI\�\PM�WJRMK\[� I[[QOVML�\W�\PW[M�^IZQIJTM[�KIV�JM�WN �IVa�KWVKZM\M�QUXTMUMV\I\QWV� WN �\PM�[]XMZ\aXM��_PQKP�UMIV[�\PM�KTI[[�LMKTIZQVO�\PMU�LWM[V¼\� PI^M�\W�SVW_�IJW]\�\PM�IK\]IT�WJRMK\�\aXM[ º <PQ[�Q[�XZWJIJTa�WTL�VM_[�\W�aW]��J]\�R][\�\W�UISM�[]ZM�_M¼ZM� ITT�[IaQVO�\PM�[IUM�\PQVO��PMZM¼[�I�[QUXTM�M`IUXTM�WN �][QVO�I� XWTaUWZXPQK�\aXM¸QUIOQVM�IV�IJ[\ZIK\�KTI[[�)VQUIT��_Q\P�\_W� KWVKZM\M�QUXTMUMV\I\QWV[��,WO�IVL�+I\�� �8ZWOZIUUQVO�\W�IV�QUXTMUMV\I\QWV�_W]TL�JM" 'RJ�G� �QHZ�'RJ��� G�EDUN��� *]\��XZWOZIUUQVO�\W�IV�QV\MZNIKM�[]XMZ\aXM�_W]TL�JM" $QLPDO�DQLPDO� �QHZ�'RJ��� DQLPDO�PDNH6RXQG��� -^MV�JM\\MZ��ZI\PMZ�\PIV�PIZL�KWLQVO�\PM�QV[\IV\QI\QWV�WN �\PM� []J\aXM��TQSM�VM_�,WO����QV\W�\PM�KWLM��I[[QOV�\PM�KWVKZM\M� QUXTMUMV\I\QWV�WJRMK\�I\�Z]V\QUM" D� �JHW$QLPDO��� DQLPDO�PDNH6RXQG���� ,�GRQ·W�VHH�ZK\�\RX�KDYH�WR� XVH�DQ�LQWHUIDFH�IRU�)O\%HKDYLRU�� <RX�FDQ�GR�WKH�VDPH�WKLQJ�ZLWK�DQ� DEVWUDFW�VXSHUFODVV��,VQ·W�WKH� ZKROH�SRLQW�WR�XVH�SRO\PRUSKLVP" ´3URJUDP�WR�DQ�LQWHUIDFHµ�UHDOO\�PHDQV� ´3URJUDP�WR�D�VXSHUW\SH�µ PDNH6RXQG�� $QLPDO PDNH6RXQG���^ ����EDUN��� ` EDUN���^����EDUN�VRXQG�` 'RJ PDNH6RXQG���^ ���PHRZ��� ` PHRZ���^����PHRZ�VRXQG�` &DW DEVWUDFW�VXSHUW\SH��FRXOG� EH�DQ�DEVWUDFW�FODVV�25�LQWHUIDFH� FRQFUHWH LPSOHPHQWDWLRQV 'HFODULQJ�WKH�YDULDEOH�´Gµ�DV�W\SH�'RJ��D�FRQFUHWH�LPSOHPHQWDWLRQ�RI�$QLPDO��IRUFHV�XV�WR�FRGH�WR�D�FRQFUHWH�LPSOHPHQWDWLRQ� :H�NQRZ�LW·V�D�'RJ��EXW�ZH�FDQ�QRZ�XVH�WKH�DQLPDO�UHIHUHQFH�SRO\PRUSKLFDOO\� :H�GRQ·W�NQRZ�:+$7�WKH�DFWXDO�DQLPDO�VXEW\SH�LV����DOO�ZH�FDUH�DERXW�LV�WKDW�LW�NQRZV�KRZ�WR�UHVSRQG�WR�PDNH6RXQG��� SURJUDP�WR�DQ�LQWHUIDFH Chapter 1. Welcome to Design Patterns Page 12 Return to Table of Contents Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra ISBN: 0596007124 Publisher: O'Reilly Prepared for Ann Cherkis, Safari ID: maottw@gmail.com 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 LQWUR�WR�'HVLJQ�3DWWHUQV \RX�DUH�KHUH�� �� +HUH�ZH� KDYH�DQ�L QWHUIDFH �WKDW� DOO�IO\LQJ �FODVVHV�LP SOHPHQW�� �$OO� QHZ�IO\LQ J�FODVVHV� MXVW�QHHG �WR� LPSOHPHQW �WKH�IO\� PHWKRG +HUH·V�WKH�LPSOHPHQWDWLRQ�RI� IO\LQJ�IRU�DOO�GXFNV�WKDW�KDYH� ZLQJV� $QG�KHUH·V�WKH�LPSOHPHQWDWLRQ�RI� DOO�GXFNV�WKDW�FDQ·W�IO\� 4XDFNV�WKDW�UHDOO\�TXDFN� 4XDFNV�WKDW�VTXHDN� 4XDFNV�WKDW�PDNH� QR�VRXQG�DW�DOO� 6DPH�WKLQJ�KHUH�IRU�W KH�TXDFN� EHKDYLRU��ZH�KDYH�DQ�LQ WHUIDFH� WKDW�MXVW�LQFOXGHV�D�TX DFN��� PHWKRG�WKDW�QHHGV�WR �EH�LPSOH� PHQWHG�� ��LQWHUIDFH!! )O\%HKDYLRU IO\�� IO\���^ �����LPSOHPHQWV�GXFN�IO\LQJ ` )O\:LWK:LQJV IO\���^ �����GR�QRWKLQJ���FDQ·W�IO\� ` )O\1R:D\ ��LQWHUIDFH!! 4XDFN%HKDYLRU TXDFN�� TXDFN��^ �����LPSOHPHQWV�GXFN�TXDFNLQJ ` 4XDFN TXDFN���^ �����UXEEHU�GXFNLH�VTXHDN ` 6TXHDN TXDFN���^ �����GR�QRWKLQJ���FDQ·W�TXDFN� ` 0XWH4XDFN 1UXTMUMV\QVO�\PM�,]KS�*MPI^QWZ[ 0MZM�_M�PI^M�\PM�\_W�QV\MZNIKM[��.Ta*MPI^QWZ�IVL�9]IKS*MPI^QWZ�ITWVO�_Q\P� \PM�KWZZM[XWVLQVO�KTI[[M[�\PI\�QUXTMUMV\�MIKP�KWVKZM\M�JMPI^QWZ" 6R�ZH�JHW �WKH�EHQHI LW�RI� 5(86(�ZL WKRXW�DOO�W KH�EDJ� JDJH�WKDW� FRPHV�DORQ J�ZLWK� LQKHULWDQFH � :LWK�WKLV�GHVLJQ��RWKHU�W\SHV�RI�REMHFWV�FDQ� �UHXVH�RXU�Á�\�DQG�TXDFN�EHKDYLRUV�EHFDXVH� WKHVH�EHKDYLRUV�DUH�QR�ORQJHU�KLGGHQ�DZD\� LQ�RXU�'XFN�FODVVHV� $QG�ZH�FDQ�DGG�QHZ�EHKDYLRUV�ZLWKRXW� PRGLI\LQJ�DQ\�RI�RXU�H[LVWLQJ�EHKDYLRU� FODVVHV�RU�WRXFKLQJ�DQ\�RI�WKH�'XFN�FODVVHV� WKDW�XVH�Á�\LQJ�EHKDYLRUV� Chapter 1. Welcome to Design Patterns Page 13 Return to Table of Contents Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra ISBN: 0596007124 Publisher: O'Reilly Prepared for Ann Cherkis, Safari ID: maottw@gmail.com 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 ��� &KDSWHU�� WKHUH DUH QR'XPE 4XHVWLRQV Q: 'R�,�DOZD\V�KDYH�WR�LPSOHPHQW�P\�DSSOLFDWLRQ�ILUVW��VHH� ZKHUH�WKLQJV�DUH�FKDQJLQJ��DQG�WKHQ�JR�EDFN�DQG�VHSDUDWH� � HQFDSVXODWH�WKRVH�WKLQJV" A: 1RW�DOZD\V��RIWHQ�ZKHQ�\RX�DUH�GHVLJQLQJ�DQ�DSSOLFDWLRQ�� \RX�DQWLFLSDWH�WKRVH�DUHDV�WKDW�DUH�JRLQJ�WR�YDU\�DQG�WKHQ�JR�DKHDG� DQG�EXLOG�WKH�IOH[LELOLW\�WR�GHDO�ZLWK�LW�LQWR�\RXU�FRGH���<RX·OO�ILQG� WKDW�WKH�SULQFLSOHV�DQG�SDWWHUQV�FDQ�EH�DSSOLHG�DW�DQ\�VWDJH�RI�WKH� GHYHORSPHQW�OLIHF\FOH� Q: 6KRXOG�ZH�PDNH�'XFN�DQ�LQWHUIDFH�WRR" A: 1RW�LQ�WKLV�FDVH���$V�\RX·OO�VHH�RQFH�ZH·YH�JRW�HYHU\WKLQJ� KRRNHG�WRJHWKHU��ZH�GR�EHQHILW�E\�KDYLQJ�'XFN�EH�D�FRQFUHWH� FODVV�DQG�KDYLQJ�VSHFLILF�GXFNV��OLNH�0DOODUG'XFN��LQKHULW�FRPPRQ� SURSHUWLHV�DQG�PHWKRGV���1RZ�WKDW�ZH·YH�UHPRYHG�ZKDW�YDULHV�IURP� WKH�'XFN�LQKHULWDQFH��ZH�JHW�WKH�EHQHILWV�RI�WKLV�VWUXFWXUH�ZLWKRXW� WKH�SUREOHPV� Q: ,W�IHHOV�D�OLWWOH�ZHLUG�WR�KDYH�D�FODVV�WKDW·V�MXVW�D� EHKDYLRU��$UHQ·W�FODVVHV�VXSSRVHG�WR�UHSUHVHQW�WKLQJV"�$UHQ·W� FODVVHV�VXSSRVHG�WR�KDYH�ERWK�VWDWH�$1'�EHKDYLRU" A: ,Q�DQ�22�V\VWHP��\HV��FODVVHV�UHSUHVHQW�WKLQJV�WKDW� JHQHUDOO\�KDYH�ERWK�VWDWH��LQVWDQFH�YDULDEOHV��DQG�PHWKRGV��$QG�LQ� WKLV�FDVH��WKH�WKLQJ�KDSSHQV�WR�EH�D�EHKDYLRU��%XW�HYHQ�D�EHKDYLRU� FDQ�VWLOO�KDYH�VWDWH�DQG�PHWKRGV��D�IO\LQJ�EHKDYLRU�PLJKW�KDYH� LQVWDQFH�YDULDEOHV�UHSUHVHQWLQJ�WKH�DWWULEXWHV�IRU�WKH�IO\LQJ��ZLQJ� EHDWV�SHU�PLQXWH��PD[�DOWLWXGH�DQG�VSHHG��HWF���EHKDYLRU� )V[_MZ[" � �� �+ZMI\M� I�.T a:WKSM\8W_MZML�KT I[[� \PI\� QUXT MUMV\[�\PM�.T a*MPI^QWZ� Q V\MZNIKM� �� � 7VM�M`IUXT M��I�L]KS�KIT T �� I� LM^Q KM�\PI\� UISM[�L]KS�[W]VL[� � 8VLQJ�RXU�QHZ�GHVLJQ��ZKDW�ZRXOG�\RX�GR�LI�\RX�QHHGHG�WR� DGG�URFNHW�SRZHUHG�À\LQJ�WR�WKH�6LP8'XFN�DSS" 6KDUSHQ \RXU SHQFLO � &DQ�\RX�WKLQN�RI�D�FODVV�WKDW�PLJKW�ZDQW�WR�XVH�WKH�4XDFN� EHKDYLRU�WKDW�LVQ¶W�D�GXFN" � EHKDYLRU�LQ�D�FODVV Chapter 1. Welcome to Design Patterns Page 14 Return to Table of Contents Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra ISBN: 0596007124 Publisher: O'Reilly Prepared for Ann Cherkis, Safari ID: maottw@gmail.com 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 LQWUR�WR�'HVLJQ�3DWWHUQV \RX�DUH�KHUH�� �� SXEOLF�FODVV�'XFN�^ ���4XDFN%HKDYLRU�TXDFN%HKDYLRU� ������PRUH ���SXEOLF�YRLG�SHUIRUP4XDFN���^ �����TXDFN%HKDYLRU�TXDFN��� ���` ` 1V\MOZI\QVO�\PM�,]KS�*MPI^QWZ .QZ[\�_M¼TT�ILL�\_W�QV[\IVKM�^IZQIJTM[�\W�\PM�,]KS�KTI[[�KITTML�Æ�a*MPI^QWZ�IVL� Y]IKS*MPI^QWZ��\PI\�IZM�LMKTIZML�I[�\PM�QV\MZNIKM�\aXM��VW\�I�KWVKZM\M�KTI[[�QUXTMUMV\I\QWV� \aXM���-IKP�L]KS�WJRMK\�_QTT�[M\�\PM[M�^IZQIJTM[�XWTaUWZXPQKITTa�\W�ZMNMZMVKM�\PM�[XMKQÅ�K� JMPI^QWZ�\aXM�Q\�_W]TL�TQSM�I\�Z]V\QUM��.Ta?Q\P?QVO[��;Y]MIS��M\K��� ?M¼TT�IT[W�ZMUW^M�\PM�Æ�a���IVL�Y]IKS���UM\PWL[�NZWU�\PM�,]KS�KTI[[��IVL�IVa�[]JKTI[[M[�� JMKI][M�_M¼^ M�UW^ML�\PQ[�JMPI^QWZ�W]\�QV\W�\PM�.Ta*MPI^QWZ�IVL�9]IKS*MPI^QWZ�KTI[[M[��� ?M¼TT�ZMXTIKM�Æ�a���IVL�Y]IKS���QV�\PM�,]KS�KTI[[�_Q\P�\_W�[QUQTIZ�UM\PWL[��KITTML� XMZNWZU.Ta���IVL�XMZNWZU9]IKS��#�aW]¼TT�[MM�PW_�\PMa�_WZS�VM`\� 7KH�NH\�LV�WKDW�D�'XFN�ZLOO�QRZ�GHOHJDWH�LWV�Á�\LQJ� DQG�TXDFNLQJ�EHKDYLRU��LQVWHDG�RI�XVLQJ�TXDFNLQJ�DQG� Á�\LQJ�PHWKRGV�GHÀ�QHG�LQ�WKH�'XFN�FODVV��RU�VXEFODVV�� +HUH·V�KRZ� � � 7KHVH�PHWKRGV�UHSODFH� IO\ ���DQG�TXDFN��� ,QVWDQFH�YDULDEOHV�KROG�D�UHIHUHQFH�WR� D�VSHFLILF�EHKDYLRU�DW�UXQWLPH� 6W_�_M�QUXTMUMV\�XMZNWZU9]IKS��" SHUIRUP4XDFN�� VZLP�� GLVSOD\�� SHUIRUP)O\�� ���27+(5�GXFN�OLNH�PHWKRGV��� 'XFN )O\%HKDYLRU��IO\%HKDYLRU 4XDFN%HKDYLRU��TXDFN%HKDYLRU 'XFN�%HKDYLRUV 4XDFNLQJ�%HKD YLRU V )O\LQJ�%HKDYL RUV 5DWKHU�WKDQ�KDQGOL QJ�WKH�TXDFN�EHKDY LRU� LWVHOI��WKH�'XFN�RE MHFW�GHOHJDWHV�WKDW � EHKDYLRU�WR�WKH�REM HFW�UHIHUHQFHG�E\� TXDFN%HKDYLRU� 8ZM\\a�[QUXTM��P]P'�<W�XMZNWZU�\PM�Y]IKS��I�,]KS�R][\�ITTW_[�\PM�WJRMK\�\PI\� Q[�ZMNMZMVKML�Ja�Y]IKS*MPI^QWZ�\W�Y]IKS�NWZ�Q\��� 1V�\PQ[�XIZ\�WN �\PM�KWLM�_M�LWV¼\�KIZM�_PI\�SQVL�WN �WJRMK\�Q\�Q[��ITT�_M�KIZM� IJW]\�Q[�\PI\�Q\�SVW_[�PW_�\W�Y]IKS�� (DFK�'XFN�KDV�D�UH IHUHQFH�WR�VRPHWKL QJ�WKDW� LPSOHPHQWV�WKH�4XD FN%HKDYLRU�LQWHUID FH� 7KH�EHKDYLRU�YDULDEOHV�DUH� GHFODUHG�DV�WKH�EHKDYLRU� ,17(5)$&(�W\SH� Chapter 1. Welcome to Design Patterns Page 15 Return to Table of Contents Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra ISBN: 0596007124 Publisher: O'Reilly Prepared for Ann Cherkis, Safari ID: maottw@gmail.com 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 ��� &KDSWHU�� 5WZM�1V\MOZI\QWV��� � 7SIa��\QUM�\W�_WZZa�IJW]\�PW_�\PM�Æa*MPI^QWZ�IVL� Y]IKS*MPI^QWZ�QV[\IVKM�^IZQIJTM[�IZM�[M\���4M\¼[�\ISM�I�TWWS�I\� \PM�5ITTIZL,]KS�KTI[[" SXEOLF�FODVV�0DOODUG'XFN�H[WHQGV�'XFN�^ ���SXEOLF�0DOODUG'XFN���^ ������TXDFN%HKDYLRU� �QHZ�4XDFN��� ������À\%HKDYLRU� �QHZ�)O\:LWK:LQJV��� ���` ���SXEOLF�YRLG�GLVSOD\���^ � 6\VWHP�RXW�SULQWOQ�³,¶P�D�UHDO�0DOODUG�GXFN´�� ���` ` ;W�5ITTIZL,]KS¼[�Y]IKS�Q[�I�ZMIT�TQ^M�L]KS�Y]IKS��VW\�I�[Y]MIS�IVL� VW\�I�U]\M�Y]IKS���;W�_PI\�PIXXMV[�PMZM'��?PMV�I�5ITTIZL,]KS� Q[�QV[\IV\QI\ML��Q\[�KWV[\Z]K\WZ�QVQ\QITQbM[�\PM�5ITTIZL,]KS¼[�QVPMZQ\ML� Y]IKS*MPI^QWZ�QV[\IVKM�^IZQIJTM�\W�I�VM_�QV[\IVKM�WN �\aXM�9]IKS��I� 9]IKS*MPI^QWZ�KWVKZM\M�QUXTMUMV\I\QWV�KTI[[�� )VL�\PM�[IUM�Q[�\Z]M�NWZ�\PM�L]KS¼[�ÆaQVO�JMPI^QWZ¸\PM�5ITTIZL,]KS¼[� KWV[\Z]K\WZ�QVQ\QITQbM[�\PM�Æa*MPI^QWZ�QV[\IVKM�^IZQIJTM�_Q\P�IV�QV[\IVKM� WN �\aXM�.Ta?Q\P?QVO[��I�.Ta*MPI^QWZ�KWVKZM\M�QUXTMUMV\I\QWV�KTI[[�� $�0DOODUG'XFN�XVH V�WKH�4XDFN�FODVV�W R� KDQGOH�LWV�TXDFN��VR �ZKHQ�SHUIRUP4XDF N� LV�FDOOHG��WKH�UHVSRQ VLELOLW\�IRU�WKH� TXDFN�LV�GHOHJDWHG� WR�WKH�4XDFN�REMHF W� DQG�ZH�JHW�D�UHDO�T XDFN�� $QG�LW��XVHV�)O\:LW K:LQJV�DV�LWV� )O\%HKDYLRU�W\SH� 5HPHPEHU��0DOODUG'XFN�LQKHULWV�WKH�TXDFN� %HKDYLRU�DQG�IO\%HKDYLRU�LQVWDQFH�YDULDEOHV� IURP�FODVV�'XFN� LQWHJUDWLQJ�GXFN�EHKDYLRU Chapter 1. Welcome to Design Patterns Page 16 Return to Table of Contents Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra ISBN: 0596007124 Publisher: O'Reilly Prepared for Ann Cherkis, Safari ID: maottw@gmail.com 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 LQWUR�WR�'HVLJQ�3DWWHUQV \RX�DUH�KHUH�� �� :DLW�D�VHFRQG��GLGQ·W�\RX� VD\�ZH�VKRXOG�127�SURJUDP�WR�DQ� LPSOHPHQWDWLRQ"��%XW�ZKDW�DUH�ZH�GRLQJ� LQ�WKDW�FRQVWUXFWRU"�:H·UH�PDNLQJ�D� QHZ�LQVWDQFH�RI�D�FRQFUHWH�4XDFN� LPSOHPHQWDWLRQ�FODVV� /WWL�KI\KP��\PI\¼[�M`IK\Ta�_PI\�_M¼ZM�LWQVO���� NWZ�VW_� 4I\MZ�QV�\PM�JWWS�_M¼TT�PI^M�UWZM�XI\\MZV[�QV� W]Z�\WWTJW`�\PI\�KIV�PMTX�][�Å`�Q\� ;\QTT��VW\QKM�\PI\�_PQTM�_M�IZM�[M\\QVO�\PM� JMPI^QWZ[�\W�KWVKZM\M�KTI[[M[��Ja�QV[\IV\QI\QVO� I�JMPI^QWZ�KTI[[�TQSM�9]IKS�WZ�.Ta?Q\P?QVO[� IVL�I[[QOVQVO�Q\�\W�W]Z�JMPI^QWZ�ZMNMZMVKM� ^IZQIJTM���_M�KW]TL�MI[QTa�KPIVOM�\PI\�I\� Z]V\QUM��� ;W��_M�[\QTT�PI^M�I�TW\�WN �ÆM`QJQTQ\a�PMZM�� J]\�_M¼ZM�LWQVO�I�XWWZ�RWJ�WN �QVQ\QITQbQVO� \PM�QV[\IVKM�^IZQIJTM[�QV�I�ÆM`QJTM�_Ia��*]\� \PQVS�IJW]\�Q\��[QVKM�\PM�Y]IKS*MPI^QWZ� QV[\IVKM�^IZQIJTM�Q[�IV�QV\MZNIKM�\aXM��_M� KW]TL��\PZW]OP�\PM�UIOQK�WN �XWTaUWZXPQ[U�� LaVIUQKITTa�I[[QOV�I�LQNNMZMV\�9]IKS*MPI^QWZ� QUXTMUMV\I\QWV�KTI[[�I\�Z]V\QUM� <ISM�I�UWUMV\�IVL�\PQVS�IJW]\�PW_�aW]� _W]TL�QUXTMUMV\�I�L]KS�[W�\PI\�Q\[�JMPI^QWZ� KW]TL�KPIVOM�I\�Z]V\QUM���AW]¼TT�[MM�\PM�KWLM� \PI\�LWM[�\PQ[�I�NM_�XIOM[�NZWU�VW_�� Chapter 1. Welcome to Design Patterns Page 17 Return to Table of Contents Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra ISBN: 0596007124 Publisher: O'Reilly Prepared for Ann Cherkis, Safari ID: maottw@gmail.com 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 ��� &KDSWHU�� <M[\QVO�\PM�,]KS�KWLM 7\SH�DQG�FRPSLOH�WKH�'XFN�FODVV�EHORZ��'XFN�MDYD���DQG�WKH� 0DOODUG'XFN�FODVV�IURP�WZR�SDJHV�EDFN��0DOODUG'XFN�MDYD�� � SXEOLF�DEVWUDFW�FODVV�'XFN�^ ���)O\%HKDYLRU�À\%HKDYLRU� ���4XDFN%HKDYLRU�TXDFN%HKDYLRU� ���SXEOLF�'XFN���^ ���`� � � ���SXEOLF�DEVWUDFW�YRLG�GLVSOD\��� ���SXEOLF�YRLG�SHUIRUP)O\���^ ������À\%HKDYLRU�À\��� ���` ���SXEOLF�YRLG�SHUIRUP4XDFN���^ ������TXDFN%HKDYLRU�TXDFN��� ���`� ���SXEOLF�YRLG�VZLP���^ ������6\VWHP�RXW�SULQWOQ�³$OO�GXFNV�ÀRDW��HYHQ�GHFR\V�´�� ���` ` 'HFODUH�WZR�UHIHUHQFH�YDULDE OHV� IRU�WKH�EHKDYLRU�LQWHUIDFH�W \SHV�� $OO�GXFN�VXEFODVVHV��LQ�WKH�VDP H� SDFNDJH��LQKHULW�WKHVH�� 'HOHJDWH�WR�WKH�EHKDYLRU�FODVV� 7\SH�DQG�FRPSLOH�WKH�)O\%HKDYLRU�LQWHUIDFH��)O\%HKDYLRU�MDYD��DQG� WKH�WZR�EHKDYLRU�LPSOHPHQWDWLRQ�FODVVHV��)O\:LWK:LQJV�MDYD�DQG� )O\1R:D\�MDYD�� � SXEOLF�LQWHUIDFH�)O\%HKDYLRU�^ ���SXEOLF�YRLG�À\��� ` SXEOLF�FODVV�)O\:LWK:LQJV�LPSOHPHQWV�)O\%HKDYLRU�^��� ���SXEOLF�YRLG�À\���^ � 6\VWHP�RXW�SULQWOQ�³,¶P�À\LQJ��´�� ���` ` SXEOLF�FODVV�)O\1R:D\�LPSOHPHQWV�)O\%HKDYLRU�^ ���SXEOLF�YRLG�À\���^ �������6\VWHP�RXW�SULQWOQ�³,�FDQ¶W�À\´�� ���` ` 7KH�LQWHUIDFH�WKDW�DOO�IO\LQJ� EHKDYLRU�FODVVHV�LPSOHPHQW� )O\LQJ�EHKDYLRU�LPSO HPHQWDWLRQ� IRU�GXFNV�WKDW�'2 �IO\��� )O\LQJ�EHKDYLRU�LPSOHPHQWDWLRQ�IRU�GXFNV�WKDW�GR�127�IO\��OLNH�UXEEHU�GXFNV�DQG�GHFR\�GXFNV�� WHVWLQJ�GXFN�EHKDYLRUV Chapter 1. Welcome to Design Patterns Page 18 Return to Table of Contents Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra ISBN: 0596007124 Publisher: O'Reilly Prepared for Ann Cherkis, Safari ID: maottw@gmail.com 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 LQWUR�WR�'HVLJQ�3DWWHUQV \RX�DUH�KHUH�� �� )LOH��(GLW���:LQGRZ��+HOS��<DGD\DGD\DGD �MDYD�0LQL'XFN6LPXODWRU 4XDFN ,¶P�À\LQJ�� SXEOLF�FODVV�0LQL'XFN6LPXODWRU�^ ���SXEOLF�VWDWLF�YRLG�PDLQ�6WULQJ>@�DUJV��^ ������'XFN�PDOODUG� �QHZ�0DOODUG'XFN��� ������PDOODUG�SHUIRUP4XDFN��� ������PDOODUG�SHUIRUP)O\��� ���` ` � 5XQ�WKH�FRGH� 7KLV�FDOOV�WKH�0DOODUG'XFN·V� LQKHULWHG� SHUIRUP4XDFN���PHWKRG��ZKLF K�WKHQ�GHOHJDWHV�WR� WKH�REMHFW·V�4XDFN%HKDYLRU�� L�H��FDOOV�TXDFN���RQ�WKH� GXFN·V�LQKHULWHG�TXDFN%HKDYLR U�UHIHUHQFH�� 7KHQ�ZH�GR�WKH�VDPH�WKLQJ�Z LWK�0DOODUG'XFN·V� LQKHULWHG�SHUIRUP)O\���PHWK RG� 7\SH�DQG�FRPSLOH�WKH�WHVW�FODVV� �0LQL'XFN6LPXODWRU�MDYD�� <M[\QVO�\PM�,]KS�KWLM�KWV\QV]ML��� 7\SH�DQG�FRPSLOH�WKH�4XDFN%HKDYLRU�LQWHUIDFH� �4XDFN%HKDYLRU�MDYD��DQG�WKH�WKUHH�EHKDYLRU�LPSOHPHQWDWLRQ� FODVVHV��4XDFN�MDYD��0XWH4XDFN�MDYD��DQG�6THDN�MDYD�� � SXEOLF�LQWHUIDFH�4XDFN%HKDYLRU�^ ���SXEOLF�YRLG�TXDFN��� ` SXEOLF�FODVV�4XDFN�LPSOHPHQWV�4XDFN%HKDYLRU�^ ���SXEOLF�YRLG�TXDFN���^ ������6\VWHP�RXW�SULQWOQ�³4XDFN´�� ���` ` SXEOLF�FODVV�0XWH4XDFN�LPSOHPHQWV�4XDFN%HKDYLRU�^ ���SXEOLF�YRLG�TXDFN���^ � 6\VWHP�RXW�SULQWOQ�³���6LOHQFH�!!´�� ���` ` SXEOLF�FODVV�6TXHDN�LPSOHPHQWV�4XDFN%HKDYLRU�^ ���SXEOLF�YRLG�TXDFN���^ � 6\VWHP�RXW�SULQWOQ�³6TXHDN´�� ���` ` Chapter 1. Welcome to Design Patterns Page 19 Return to Table of Contents Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra ISBN: 0596007124 Publisher: O'Reilly Prepared for Ann Cherkis, Safari ID: maottw@gmail.com 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 ��� &KDSWHU�� ;M\\QVO�JMPI^QWZ�LaVIUQKITTa ?PI\�I�[PIUM�\W�PI^M�ITT�\PQ[�LaVIUQK�\ITMV\�J]QT\�QV\W�W]Z�L]KS[�IVL�VW\�JM�][QVO� Q\ �1UIOQVM�aW]�_IV\�\W�[M\�\PM�L]KS¼[�JMPI^QWZ�\aXM�\PZW]OP�I�[M\\MZ�UM\PWL�WV�\PM� L]KS�[]JKTI[[��ZI\PMZ�\PIV�Ja�QV[\IV\QI\QVO�Q\�QV�\PM�L]KS¼[�KWV[\Z]K\WZ� � $GG�WZR�QHZ�PHWKRGV�WR�WKH�'XFN�FODVV� ?M�KIV�KITT�\PM[M�UM\PWL[�IVa\QUM�_M�_IV\�\W�KPIVOM�\PM� JMPI^QWZ�WN �I�L]KS�WV�\PM�Æ�a� VZLP�� GLVSOD\�� SHUIRUP4XDFN�� SHUIRUP)O\�� VHW)O\%HKDYLRU�� VHW4XDFN%HKDYLRU�� ���27+(5�GXFN�OLNH�PHWKRGV��� 'XFN )O\%HKDYLRU�IO\%HKDYLRU� 4XDFN%HKDYLRU�TXDFN%HKDYLRU� SXEOLF�YRLG�VHW)O\%HKDYLRU�)O\%HKDYLRU�IE��^ ����À�\%HKDYLRU� �IE� ` SXEOLF�YRLG�VHW4XDFN%HKDYLRU�4XDFN%HKDYLRU�TE��^ ����TXDFN%HKDYLRU� �TE� ` HGLWRU�QRWH���JUDWXLWRXV�SXQ���¿�[ SXEOLF�FODVV�0RGHO'XFN�H[WHQGV�'XFN�^��� ����SXEOLF�0RGHO'XFN���^ �������À�\%HKDYLRU� �QHZ�)O\1R:D\��� � TXDFN%HKDYLRU� �QHZ�4XDFN��� ����` ����SXEOLF�YRLG�GLVSOD\���^ �������6\VWHP�RXW�SULQWOQ�³,¶P�D�PRGHO�GXFN´�� ����` ` SXEOLF�FODVV�)O\5RFNHW3RZHUHG�LPSOHPHQWV�)O\%HKDYLRU�^ ����SXEOLF�YRLG�À�\���^ �������6\VWHP�RXW�SULQWOQ�³,¶P�À�\LQJ�ZLWK�D�URFNHW�´�� ����` ` � 2XU�PRGHO�GXFN�E HJLQV�OLIH�JURXQGH G��� ZLWKRXW�D�ZD\�WR �IO\� 7KDW·V�RND\��ZH·UH�FUHDWLQJ�D� URFNHW�SRZHUHG�IO\LQJ�EHKDYLRU� 0DNH�D�QHZ�'XFN�W\SH��0RGHO'XFN�MDYD�� � 0DNH�D�QHZ�)O\%HKDYLRU�W\SH� �)O\5RFNHW3RZHUHG�MDYD�� GXFNV�ZLWK�G\QDPLF�EHKDYLRU Chapter 1. Welcome to Design Patterns Page 20 Return to Table of Contents Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra ISBN: 0596007124 Publisher: O'Reilly Prepared for Ann Cherkis, Safari ID: maottw@gmail.com 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 LQWUR�WR�'HVLJQ�3DWWHUQV \RX�DUH�KHUH�� �� SXEOLF�FODVV�0LQL'XFN6LPXODWRU�^ ���SXEOLF�VWDWLF�YRLG�PDLQ�6WULQJ>@�DUJV��^ ������'XFN�PDOODUG� �QHZ�0DOODUG'XFN��� ����������PDOODUG�SHUIRUP4XDFN��� ����������PDOODUG�SHUIRUP)O\��� ��� ����������'XFN�PRGHO� �QHZ�0RGHO'XFN��� ����������PRGHO�SHUIRUP)O\��� ����������PRGHO�VHW)O\%HKDYLRU�QHZ�)O\5RFNHW3RZHUHG���� ����������PRGHO�SHUIRUP)O\����� ���` ` 7KH�ILUVW�FDOO�WR�SH UIRUP)O\���GHOHJDWH V� WR�WKH�IO\%HKDYLRU� REMHFW�VHW�LQ�WKH� 0RGHO'XFN·V�FRQVWU XFWRU��ZKLFK�LV�D� )O\1R:D\�LQVWDQFH� )LOH��(GLW���:LQGRZ��+HOS��<DEDGDEDGRR �MDYD�0LQL'XFN6LPXODWRU 4XDFN ,¶P�À\LQJ�� ,�FDQ¶W�À\ ,¶P�À\LQJ�ZLWK�D�URFNHW � 5XQ�LW�� &KDQJH�WKH�WHVW�FODVV��0LQL'XFN6LPXODWRU�MDYD���DGG�WKH� 0RGHO'XFN��DQG�PDNH�WKH�0RGHO'XFN�URFNHW�HQDEOHG� 7KLV�LQYRNHV�WKH�PRGHO·V�LQKHULWHG�EHKDYLRU�VHWWHU�PHWKRG��DQG���YRLOD��7KH�PRGHO�VXGGHQO\�KDV�URFNHW�SRZHUHG�IO\LQJ�FDSDELOLW\�,I�LW�ZRUNHG��WKH�PRGHO�GXFN�G\QDPLFDOO\�FKDQJHG�LWV�IO\LQJ�EHKDYLRU��<RX�FDQ·W�GR�7+$7�LI�WKH�LPSOHPHQWDWLRQ�OLYHV�LQVLGH�WKH�GXFN�FODVV� 7R�FKDQJH�D�GXFN·V� EHKDYLRU�DW�UXQWLPH��MXVW� FDOO�WKH�GXFN·V�VHWWHU� PHWKRG�IRU�WKDW�EHKDYLRU� EHIRUH DIWHU Chapter 1. Welcome to Design Patterns Page 21 Return to Table of Contents Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra ISBN: 0596007124 Publisher: O'Reilly Prepared for Ann Cherkis, Safari ID: maottw@gmail.com 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 ��� &KDSWHU�� *MTW_�Q[�\PM�MV\QZM�ZM_WZSML�KTI[[�[\Z]K\]ZM���?M�PI^M�M^MZa\PQVO�aW]¼L�M`XMK\"� L]KS[�M`\MVLQVO�,]KS��Æ�a�JMPI^QWZ[�QUXTMUMV\QVO�.Ta*MPI^QWZ�IVL�Y]IKS� JMPI^QWZ[�QUXTMUMV\QVO�9]IKS*MPI^QWZ� 6W\QKM�IT[W�\PI\�_M¼^ M�[\IZ\ML�\W�LM[KZQJM�\PQVO[�I�TQ\\TM�LQNNMZMV\Ta���1V[\MIL� WN �\PQVSQVO�WN �\PM�L]KS�JMPI^QWZ[�I[�I�[M\�WN �JMPI^QWZ[��_M¼TT�[\IZ\�\PQVSQVO�WN � \PMU�I[�I��NIUQTa�WN �ITOWZQ\PU[��<PQVS�IJW]\�Q\"�QV�\PM�;QU=,]KS�LM[QOV��\PM� ITOWZQ\PU[�ZMXZM[MV\�\PQVO[�I�L]KS�_W]TL�LW��LQNNMZMV\�_Ia[�WN �Y]IKSQVO�WZ� Æ�aQVO���J]\�_M�KW]TL�R][\�I[�MI[QTa�][M�\PM�[IUM�\MKPVQY]M[�NWZ�I�[M\�WN �KTI[[M[� \PI\�QUXTMUMV\�\PM�_Ia[�\W�KWUX]\M�[\I\M�[ITM[�\I`�Ja�LQNNMZMV\�[\I\M[�� 8Ia�KIZMN]T�I\\MV\QWV�\W�\PM�ZMTI\QWV[PQX[�JM\_MMV�\PM�KTI[[M[��1V�NIK\��OZIJ� aW]Z�XMV�IVL�_ZQ\M�\PM�IXXZWXZQI\M�ZMTI\QWV[PQX��1;�)��0);�)�IVL� 1584-5-6<;��WV�MIKP�IZZW_�QV�\PM�KTI[[�LQIOZIU� <PM�*QO�8QK\]ZM�WV��MVKIX[]TI\ML�JMPI^QWZ[ 2ND\��QRZ�WKDW�ZH·YH�GRQH�WKH�GHHS�GLYH�RQ�WKH� GXFN�VLPXODWRU�GHVLJQ��LW·V�WLPH�WR�FRPH�EDFN�XS� IRU�DLU�DQG�WDNH�D�ORRN�DW�WKH�ELJ�SLFWXUH� VZLP�� GLVSOD\�� SHUIRUP4XDFN�� SHUIRUP)O\�� VHW)O\%HKDYLRU�� VHW4XDFN%HKDYLRU�� ���27+(5�GXFN�OLNH�PHWKRGV��� 'XFN )O\%HKDYLRU�IO\%HKDYLRU 4XDFN%HKDYLRU�TXDFN%HKDYLRU ��LQWHUIDFH!! )O\%HKDYLRU IO\�� IO\���^ �����LPSOHPHQWV�GXFN�IO\LQJ ` )O\:LWK:LQJV IO\���^ �����GR�QRWKLQJ���FDQ·W�IO\� ` )O\1R:D\ ��LQWHUIDFH!! 4XDFN%HKDYLRU TXDFN�� TXDFN��^ �����LPSOHPHQWV�GXFN�TXDFNLQJ ` 4XDFN TXDFN���^ �����UXEEHU�GXFNLH�VTXHDN ` 6TXHDN TXDFN���^ �����GR�QRWKLQJ���FDQ·W�TXDFN� ` 0XWH4XDFN GLVSOD\���^ ���ORRNV�OLNH�D�GHFR\�GXFN�` 'HFR\'XFN GLVSOD\���^ ���ORRNV�OLNH�D�PDOODUG�` 0DOODUG'XFN GLVSOD\���^ ���ORRNV�OLNH�D�UHGKHDG�` 5HGKHDG'XFN GLVSOD\���^ ���ORRNV�OLNH�D�UXEEHUGXFN�` 5XEEHU'XFN (QFDSVXODWHG�À�\�EHKDYLRU (QFDSVXODWHG�TXDFN�EHKDYLRU 7KLQN�RI �HDFK� VHW�RI�E HKDYLRUV� DV�D�IDP LO\�RI� DOJRULWKP V� &OLHQW� 7KHVH �EHKDY LRUV� ´DOJRU LWKPVµ �DUH� LQWHUF KDQJH DEOH� &OLHQW�PDNHV�XVH�RI�DQ� HQFDSVXODWHG�IDPLO\�RI�DOJRULWKPV� IRU�ERWK�IO\LQJ�DQG�TXDFNLQJ� WKH�ELJ�SLFWXUH Chapter 1. Welcome to Design Patterns Page 22 Return to Table of Contents Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra ISBN: 0596007124 Publisher: O'Reilly Prepared for Ann Cherkis, Safari ID: maottw@gmail.com 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 LQWUR�WR�'HVLJQ�3DWWHUQV \RX�DUH�KHUH�� �� <PM�0);�)�ZMTI\QWV[PQX�Q[�IV�QV\MZM[\QVO�WVM"�MIKP�L]KS� PI[�I�.Ta*MPI^QWZ�IVL�I�9]IKS*MPI^QWZ�\W�_PQKP�Q\� LMTMOI\M[�ÆaQVO�IVL�Y]IKSQVO��� ?PMV�aW]�X]\�\_W�KTI[[M[�\WOM\PMZ�TQSM�\PQ[�aW]¼ZM�][QVO� KWUXW[Q\QWV���1V[\MIL�WN �QVPMZQ\QVO�\PMQZ�JMPI^QWZ��\PM� L]KS[�OM\�\PMQZ�JMPI^QWZ�Ja�JMQVO�KWUXW[ML�_Q\P�\PM�ZQOP\� JMPI^QWZ�WJRMK\�� <PQ[�Q[�IV�QUXWZ\IV\�\MKPVQY]M#�QV�NIK\��_M¼^ M�JMMV�][QVO� W]Z�\PQZL�LM[QOV�XZQVKQXTM" 'HVLJQ�3ULQFLSOH )DYRU�FRPSRVLWLRQ�RYHU�LQKHULWDQFH� $�GXFN�FDOO�LV�D�GHYLFH�WKDW�KXQWHUV�XVH�WR�PLPLF�WKH� FDOOV��TXDFNV��RI�GXFNV��+RZ�ZRXOG�\RX�LPSOHPHQW�\RXU� RZQ�GXFN�FDOO�WKDW�GRHV�QRW�LQKHULW�IURP�WKH�'XFN�FODVV" YiX`e gfn\i )[�aW]¼^M�[MMV��KZMI\QVO�[a[\MU[�][QVO�KWUXW[Q\QWV�OQ^M[�aW]� I�TW\�UWZM�ÆM`QJQTQ\a��6W\�WVTa�LWM[�Q\�TM\�aW]�MVKIX[]TI\M� I�NIUQTa�WN �ITOWZQ\PU[�QV\W�\PMQZ�W_V�[M\�WN �KTI[[M[��J]\�Q\� IT[W�TM\[�aW]�KPIVOM�JMPI^QWZ�I\�Z]V\QUM��I[�TWVO�I[� \PM�WJRMK\�aW]¼ZM�KWUXW[QVO�_Q\P�QUXTMUMV\[�\PM�KWZZMK\� JMPI^QWZ�QV\MZNIKM�� +WUXW[Q\QWV�Q[�][ML�QV�UIVa�LM[QOV�XI\\MZV[�IVL�aW]¼TT� [MM�I�TW\�UWZM�IJW]\�Q\[�IL^IV\IOM[�IVL�LQ[IL^IV\IOM[� \PZW]OPW]\�\PM�JWWS�� 0DVWHU�DQG�6WXGHQW��� 0DVWHU��*UDVVKRSSHU�� WHOO�PH�ZKDW�\RX�KDYH� OHDUQHG�RI�WKH�2EMHFW� 2ULHQWHG�ZD\V� 6WXGHQW��0DVWHU��,�KDYH�OHDUQHG�WKDW� WKH�SURPLVH�RI�WKH�REMHFW�RULHQWHG�ZD\� LV�UHXVH� 0DVWHU��*UDVVKRSSHU��FRQWLQXH��� 6WXGHQW��0DVWHU��WKURXJK�LQKHULWDQFH� DOO�JRRG�WKLQJV�PD\�EH�UHXVHG�DQG� VR�ZH�ZLOO�FRPH�WR�GUDVWLFDOO\�FXW� GHYHORSPHQW�WLPH�OLNH�ZH�VZLIWO\�FXW� EDPERR�LQ�WKH�ZRRGV� 0DVWHU��*UDVVKRSSHU��LV�PRUH� WLPH�VSHQW�RQ�FRGH�EHIRUH�RU�DIWHU� GHYHORSPHQW�LV�FRPSOHWH" 6WXGHQW��7KH�DQVZHU�LV�DIWHU�� 0DVWHU��:H�DOZD\V�VSHQG�PRUH�WLPH� PDLQWDLQLQJ�DQG�FKDQJLQJ�VRIWZDUH� WKDQ�LQLWLDO�GHYHORSPHQW� 0DVWHU��6R�*UDVVKRSSHU��VKRXOG�HIIRUW� JR�LQWR�UHXVH�DERYH�PDLQWDLQWDELOLW\� DQG�H[WHQVLELOLW\" 6WXGHQW��0DVWHU��,�EHOLHYH�WKDW�WKHUH�LV� WUXWK�LQ�WKLV� 0DVWHU��,�FDQ�VHH�WKDW�\RX�VWLOO�KDYH� PXFK�WR�OHDUQ��,�ZRXOG�OLNH�IRU�\RX�WR� JR�DQG�PHGLWDWH�RQ�LQKHULWDQFH�IXUWKHU�� $V�\RX¶YH�VHHQ���LQKHULWDQFH�KDV�LWV� SUREOHPV��DQG�WKHUH�DUH�RWKHU�ZD\V�RI� DFKLHYLQJ�UHXVH� 0);�)�KIV�JM�JM\\MZ�\PIV�1;�) Chapter 1. Welcome to Design Patterns Page 23 Return to Table of Contents Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra ISBN: 0596007124 Publisher: O'Reilly Prepared for Ann Cherkis, Safari ID: maottw@gmail.com 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 ��� &KDSWHU�� &RQJUDWXODWLRQV�RQ� \RXU�ILUVW�SDWWHUQ� <RX�MXVW�DSSOLHG�\RXU�¿UVW�GHVLJQ�SDWWHUQ²WKH� 675$7(*<�SDWWHUQ��7KDW¶V�ULJKW��\RX�XVHG�WKH� 6WUDWHJ\�3DWWHUQ�WR�UHZRUN�WKH�6LP8'XFN�DSS�� 7KDQNV�WR�WKLV�SDWWHUQ��WKH�VLPXODWRU�LV�UHDG\�IRU�DQ\� FKDQJHV�WKRVH�H[HFV�PLJKW�FRRN�XS�RQ�WKHLU�QH[W� EXVLQHVV�WULS�WR�9HJDV� 1RZ�WKDW�ZH¶YH�PDGH�\RX�WDNH�WKH�ORQJ�URDG�WR�DSSO\�LW�� KHUH¶V�WKH�IRUPDO�GH¿QLWLRQ�RI�WKLV�SDWWHUQ� <PM�;\ZI\MOa�8I\\MZV�LMÅVM[�I�NIUQTa�WN �ITOWZQ\PU[�� MVKIX[]TI\M[�MIKP�WVM��IVL�UISM[�\PMU�QV\MZKPIVOMIJTM��� ;\ZI\MOa�TM\[�\PM�ITOWZQ\PU�^IZa�QVLMXMVLMV\Ta�NZWU� KTQMV\[�\PI\�][M�Q\� ;XMISQVO�WN�,M[QOV�8I\\MZV[��� 8VH�7+, 6�GHILQL WLRQ�ZKH Q�\RX� QHHG�WR� LPSUHVV� IULHQGV� DQG� LQIOXHQFH �NH\�H[H FXWLYHV� WKH�VWUDWHJ\�SDWWHUQ Chapter 1. Welcome to Design Patterns Page 24 Return to Table of Contents Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra ISBN: 0596007124 Publisher: O'Reilly Prepared for Ann Cherkis, Safari ID: maottw@gmail.com 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 LQWUR�WR�'HVLJQ�3DWWHUQV \RX�DUH�KHUH�� �� *MTW_�aW]¼TT�Å�VL�I�UM[[�WN �KTI[[M[�IVL�QV\MZNIKM[�NWZ�IV�IK\QWV�IL^MV\]ZM�OIUM��AW]¼TT� Å�VL�KTI[[M[�NWZ�OIUM�KPIZIK\MZ[�ITWVO�_Q\P�KTI[[M[�NWZ�_MIXWV�JMPI^QWZ[�\PM�KPIZIK\MZ[� KIV�][M�QV�\PM�OIUM���-IKP�KPIZIK\MZ�KIV�UISM�][M�WN �WVM�_MIXWV�I\�I�\QUM��J]\�KIV� KPIVOM�_MIXWV[�I\�IVa�\QUM�L]ZQVO�\PM�OIUM���AW]Z�RWJ�Q[�\W�[WZ\�Q\�ITT�W]\��� �)V[_MZ[�IZM�I\�\PM�MVL�WN �\PM�KPIX\MZ�� &KDUDFWHU :HDSRQ%HKDYLRU�ZHDSRQ� VHW:HDSRQ�:HDSRQ%HKDYLRU�Z��^ ����WKLV�ZHDSRQ� �Z� ` ILJKW��� .QLIH%HKDYLRU XVH:HDSRQ���^����LPSOHPHQWV�FXWWLQJ� ZLWK�D�NQLIH�` 4XHHQ ILJKW���^�����` .LQJ ILJKW���^�����` 7UROO ILJKW���^�����` %RZ$QG$UURZ%HKDYLRU XVH:HDSRQ���^����LPSOHPHQWV�VKRRW� LQJ�DQ�DUURZ�ZLWK�D�ERZ�` .QLJKW ILJKW���^�����` ��LQWHUIDFH!! :HDSRQ%HKDYLRU XVH:HDSRQ��� $[H%HKDYLRU XVH:HDSRQ���^����LPSOHPHQWV�FKRS� SLQJ�ZLWK�DQ�D[H�` 6ZRUG%HKDYLRU XVH:HDSRQ���^����LPSOHPHQWV�VZLQJ� LQJ�D�VZRUG�` �����)ZZIVOM�\PM�KTI[[M[� �����1LMV\QNa�WVM�IJ[\ZIK\�KTI[[��WVM�QV\MZNIKM�IVL�MQOP\�KTI[[M[� �����,ZI_�IZZW_[�JM\_MMV�KTI[[M[� � I��,ZI_�\PQ[�SQVL�WN �IZZW_�NWZ�QVPMZQ\IVKM��¹M`\MVL[º�� � J��,ZI_�\PQ[�SQVL�WN �IZZW_�NWZ�QV\MZNIKM��¹QUXTMUMV\[º�� � K��,ZI_�\PQ[�SQVL�WN �IZZW_�NWZ�¹0);�)º�� �����8]\�\PM�UM\PWL�[M\?MIXWV���QV\W�\PM�ZQOP\�KTI[[� � � � � AW]Z�\I[S" ��'HVLJQ�3X]]OH Chapter 1. Welcome to Design Patterns Page 25 Return to Table of Contents Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra ISBN: 0596007124 Publisher: O'Reilly Prepared for Ann Cherkis, Safari ID: maottw@gmail.com 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 ��� &KDSWHU�� 7^MZPMIZL�I\�\PM�TWKIT�LQVMZ��� ,�QHHG�D�&UHDP�FKHHVH� ZLWK�MHOO\�RQ�ZKLWH�EUHDG��D� FKRFRODWH�VRGD�ZLWK�YDQLOOD�LFH�FUHDP��D� JULOOHG�FKHHVH�VDQGZLFK�ZLWK�EDFRQ��D�WXQD� ÀVK�VDODG�RQ�WRDVW��D�EDQDQD�VSOLW�ZLWK� LFH�FUHDP� �VOLFHG�EDQDQDV�DQG�D�FRIIHH� ZLWK�D�FUHDP�DQG�WZR�VXJDUV������RK�� DQG�SXW�D�KDPEXUJHU�RQ�WKH�JULOO� *LYH�PH�D�&�-�� :KLWH��D�EODFN� �ZKLWH��D� -DFN�%HQQ\��D�UDGLR��D�KRXVH� ERDW��D�FRIIHH�UHJXODU�DQG� EXUQ�RQH� ?PI\¼[�\PM�LQNNMZMVKM�JM\_MMV�\PM[M�\_W�WZLMZ['��6W\�I�\PQVO �<PMa¼ZM�JW\P� \PM�[IUM�WZLMZ��M`KMX\�)TQKM�Q[�][QVO�\_QKM�\PM�V]UJMZ�WN �_WZL[�IVL�\ZaQVO�\PM� XI\QMVKM�WN �I�OZ]UXa�[PWZ\�WZLMZ�KWWS��� ?PI\¼[�.TW�OW\�\PI\�)TQKM�LWM[V¼\'��)�[PIZML�^WKIJ]TIZa�_Q\P�\PM�[PWZ\�WZLMZ� KWWS��6W\�WVTa�Q[�Q\�MI[QMZ�\W�KWUU]VQKI\M�_Q\P�\PM�KWWS��J]\�Q\�OQ^M[�\PM�KWWS�TM[[� \W�ZMUMUJMZ�JMKI][M�PM¼[�OW\�ITT�\PM�LQVMZ�XI\\MZV[�QV�PQ[�PMIL� ,M[QOV�8I\\MZV[�OQ^M�aW]�I�[PIZML�^WKIJ]TIZa�_Q\P�W\PMZ�LM^MTWXMZ[���7VKM�aW]¼^M� OW\�\PM�^WKIJ]TIZa�aW]�KIV�UWZM�MI[QTa�KWUU]VQKI\M�_Q\P�W\PMZ�LM^MTWXMZ[�IVL� QV[XQZM�\PW[M�_PW�LWV¼\�SVW_�XI\\MZV[�\W�[\IZ\�TMIZVQVO�\PMU���1\�IT[W�MTM^I\M[�aW]Z� \PQVSQVO�IJW]\�IZKPQ\MK\]ZM[�Ja�TM\\QVO�aW]�\PQVS�I\�\PM�XI\\MZV�TM^MT��VW\�\PM� VQ\\a�OZQ\\a�WJRMK\�TM^MT� )OR $OLFH GLQHU�WDON Chapter 1. Welcome to Design Patterns Page 26 Return to Table of Contents Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra ISBN: 0596007124 Publisher: O'Reilly Prepared for Ann Cherkis, Safari ID: maottw@gmail.com 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 LQWUR�WR�'HVLJQ�3DWWHUQV \RX�DUH�KHUH�� �� 7^MZPMIZL�QV�\PM�VM`\�K]JQKTM��� 5LFN 5LFN��ZK\� GLGQ·W�\RX�MXVW�VD\� \RX�ZHUH�XVLQJ�WKH� 2EVHUYHU�3DWWHUQ" ([DFWO\��,I�\RX� FRPPXQLFDWH�LQ�SDWWHUQV�� WKHQ�RWKHU�GHYHORSHUV�NQRZ� LPPHGLDWHO\�DQG�SUHFLVHO\�WKH� GHVLJQ�\RX·UH�GHVFULELQJ��-XVW�GRQ·W� JHW�3DWWHUQ�)HYHU����\RX·OO�NQRZ� \RX�KDYH�LW�ZKHQ�\RX�VWDUW�XVLQJ� SDWWHUQV�IRU�+HOOR� :RUOG��� 6R�,�FUHDWHG�WKLV�EURDGFDVW� FODVV���,W�NHHSV�WUDFN�RI�DOO� WKH�REMHFWV�OLVWHQLQJ�WR�LW�DQG�DQ\WLPH� D�QHZ�SLHFH�RI�GDWD�FRPHV�DORQJ�LW�VHQGV�D�� PHVVDJH�WR�HDFK�OLVWHQHU���:KDW·V�FRRO�LV�WKDW� WKH�OLVWHQHUV�FDQ�MRLQ�WKH�EURDGFDVW�DW�DQ\� WLPH�RU�WKH\�FDQ�HYHQ�UHPRYH�WKHPVHOYHV��� ,W�LV�UHDOO\�G\QDPLF�DQG�ORRVHO\�FRXSOHG� YiX`e gfn\i &DQ�\RX�WKLQN�RI�RWKHU�VKDUHG�YRFDEXODULHV� WKDW�DUH�XVHG�EH\RQG�22�GHVLJQ�DQG�GLQHU� WDON"���+LQW��KRZ�DERXW�DXWR�PHFKDQLFV�� FDUSHQWHUV��JRXUPHW�FKHIV��DLU�WUDI¿F�FRQWURO�� :KDW�TXDOLWLHV�DUH�FRPPXQLFDWHG�DORQJ�ZLWK� WKH�OLQJR" &DQ�\RX�WKLQN�RI�DVSHFWV�RI�22�GHVLJQ� WKDW�JHW�FRPPXQLFDWHG�DORQJ�ZLWK�SDWWHUQ� QDPHV"��:KDW�TXDOLWLHV�JHW�FRPPXQLFDWHG� DORQJ�ZLWK�WKH�QDPH�³6WUDWHJ\�3DWWHUQ´" Chapter 1. Welcome to Design Patterns Page 27 Return to Table of Contents Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra ISBN: 0596007124 Publisher: O'Reilly Prepared for Ann Cherkis, Safari ID: maottw@gmail.com 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 ��� &KDSWHU�� ;PIZML�XI\\MZV�^WKIJ]TIZQM[�IZM�87?-:.=4��� ?PMV�aW]�KWUU]VQKI\M�_Q\P�IVW\PMZ�LM^MTWXMZ�WZ�aW]Z� \MIU�][QVO�XI\\MZV[��aW]�IZM�KWUU]VQKI\QVO�VW\�R][\�I� XI\\MZV�VIUM�J]\�I�_PWTM�[M\�WN �Y]ITQ\QM[��KPIZIK\MZQ[\QK[� IVL�KWV[\ZIQV\[�\PI\�\PM�XI\\MZV�ZMXZM[MV\[� 8I\\MZV[�ITTW_�aW]�\W�[Ia�UWZM�_Q\P�TM[[���?PMV� aW]�][M�I�XI\\MZV�QV�I�LM[KZQX\QWV��W\PMZ�LM^MTWXMZ[�Y]QKSTa� SVW_�XZMKQ[MTa�\PM�LM[QOV�aW]�PI^M�QV�UQVL� <ITSQVO�I\�\PM�XI\\MZV�TM^MT�ITTW_[�aW]�\W�[\Ia�¹QV� \PM�LM[QOVº�TWVOMZ���<ITSQVO�IJW]\�[WN\_IZM�[a[\MU[�][QVO� XI\\MZV[�ITTW_[�aW]�\W�SMMX�\PM�LQ[K][[QWV�I\�\PM�LM[QOV� TM^MT��_Q\PW]\�PI^QVO�\W�LQ^M�LW_V�\W�\PM�VQ\\a�OZQ\\a�LM\IQT[� WN �QUXTMUMV\QVO�WJRMK\[�IVL�KTI[[M[� ;PIZML�^WKIJ]TIZQM[�KIV�\]ZJW�KPIZOM�aW]Z� LM^MTWXUMV\�\MIU���)�\MIU�_MTT�^MZ[ML�QV�LM[QOV� XI\\MZV[�KIV�UW^M�UWZM�Y]QKSTa�_Q\P�TM[[�ZWWU�NWZ� UQ[]VLMZ[\IVLQVO� ;PIZML�^WKIJ]TIZQM[�MVKW]ZIOM�UWZM��R]VQWZ� LM^MTWXMZ[�\W�OM\�]X�\W�[XMML���2]VQWZ�LM^MTWXMZ[�TWWS� ]X�\W�M`XMZQMVKML�LM^MTWXMZ[��?PMV�[MVQWZ�LM^MTWXMZ[� UISM�][M�WN �LM[QOV�XI\\MZV[��R]VQWZ�LM^MTWXMZ[�IT[W�JMKWUM� UW\Q^I\ML�\W�TMIZV�\PMU��*]QTL�I�KWUU]VQ\a�WN �XI\\MZV� ][MZ[�I\�aW]Z�WZOIVQbI\QWV� <PM�XW_MZ�WN�I�[PIZML�XI\\MZV�^WKIJ]TIZa :KHQ�\RX�FRPPXQLFDWH�XVLQJ�SDWWHUQV�\RX� DUH�GRLQJ�PRUH�WKDQ�MXVW�VKDULQJ�/,1*2� ´:H·UH�XVLQJ� WKH�VWUDWHJ\ �SDWWHUQ�WR� LPSOH� PHQW�WKH�YDU LRXV�EHKDYLRU V�RI�RXU�GXF NV�µ� 7KLV�WHOOV�\R X�WKH�GXFN�E HKDYLRU�KDV�E HHQ� HQFDSVXODWHG �LQWR�LWV�RZQ �VHW�RI�FODVV HV� WKDW�FDQ�EH� HDVLO\�H[SDQG HG�DQG�FKDQJ HG�� HYHQ�DW�UXQW LPH�LI�QHHGH G� +RZ�PDQ \�GHVLJQ �PHHWLQJ V�KDYH�\ RX� EHHQ�LQ� WKDW�TX LFNO\�GH JUDGH�LQ WR� LPSOHPHQ WDWLRQ�G HWDLOV"�� 7KLQN�DERXW�VWDUWLQJ�D�SDWWHUQV�VWXG\� JURXS�DW�\RXU�RUJDQL]DWLRQ��PD\EH�\RX� FDQ�HYHQ�JHW�SDLG�ZKLOH�\RX·UH�OHDUQ� LQJ������� $V�\RXU�WHDP�EHJLQV�WR�VKDU H�GHVLJQ� LGHDV�DQG�H[SHULHQFH�LQ�WHUP V�RI� SDWWHUQV��\RX�ZLOO�EXLOG�D�FR PPXQLW\� RI�SDWWHUQV�XVHUV� VKDUHG�YRFDEXODU\ Chapter 1. Welcome to Design Patterns Page 28 Return to Table of Contents Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra ISBN: 0596007124 Publisher: O'Reilly Prepared for Ann Cherkis, Safari ID: maottw@gmail.com 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 LQWUR�WR�'HVLJQ�3DWWHUQV \RX�DUH�KHUH�� �� ?M¼^ M�ITT�][ML�WNN�\PM�[PMTN �TQJZIZQM[�IVL�NZIUM_WZS[���?M�\ISM�\PMU��_ZQ\M�[WUM�KWLM�IOIQV[\�\PMQZ�)81[�� KWUXQTM�\PMU�QV\W�W]Z�XZWOZIU[��IVL�JMVMÅ�\�NZWU�I�TW\�WN �KWLM�[WUMWVM�MT[M�PI[�_ZQ\\MV���<PQVS�IJW]\� \PM�2I^I�)81[�IVL�ITT�\PM�N]VK\QWVITQ\a�\PMa�OQ^M�aW]"�VM\_WZS��/=1��17��M\K���4QJZIZQM[�IVL�NZIUM_WZS[�OW� I�TWVO�_Ia�\W_IZL[�I�LM^MTWXUMV\�UWLMT�_PMZM�_M�KIV�R][\�XQKS�IVL�KPWW[M�KWUXWVMV\[�IVL�XT]O�\PMU� ZQOP\�QV��*]\����\PMa�LWV¼\�PMTX�][�[\Z]K\]ZM�W]Z�W_V�IXXTQKI\QWV[�QV�_Ia[�\PI\�IZM�MI[QMZ�\W�]VLMZ[\IVL��UWZM� UIQV\IQVIJTM�IVL�Æ�M`QJTM��<PI\¼[�_PMZM�,M[QOV�8I\\MZV[�KWUM�QV� ,M[QOV�XI\\MZV[�LWV¼\�OW�LQZMK\Ta�QV\W�aW]Z�KWLM��\PMa�Å�Z[\�OW�QV\W�aW]Z�*:)16���7VKM�aW]¼^M�TWILML�aW]Z� JZIQV�_Q\P�I�OWWL�_WZSQVO�SVW_TMLOM�WN �XI\\MZV[��aW]�KIV�\PMV�[\IZ\�\W�IXXTa�\PMU�\W�aW]Z�VM_�LM[QOV[�� IVL�ZM_WZS�aW]Z�WTL�KWLM�_PMV�aW]�Å�VL�Q\¼[�LMOZILQVO�QV\W�IV�QVÆ�M`QJTM�UM[[�WN �R]VOTM�[XIOPM\\Q�KWLM� 0W_�LW�1��][M�,M[QOV�8I\\MZV[' WKHUH DUH QR'XPE 4XHVWLRQV Q: ,I�GHVLJQ�SDWWHUQV�DUH�VR�JUHDW�� ZK\�FDQ·W�VRPHRQH�EXLOG�D�OLEUDU\�RI� WKHP�VR�,�GRQ·W�KDYH�WR" A: 'HVLJQ�SDWWHUQV�DUH�KLJKHU�OHYHO� WKDQ�OLEUDULHV���'HVLJQ�SDWWHUQV�WHOO�XV� KRZ�WR�VWUXFWXUH�FODVVHV�DQG�REMHFWV�WR� VROYH�FHUWDLQ�SUREOHPV�DQG�LW�LV�RXU�MRE�WR� DGDSW�WKRVH�GHVLJQV�WR�ILW�RXU�SDUWLFXODU� DSSOLFDWLRQ� Q: $UHQ·W��OLEUDULHV�DQG�IUDPHZRUNV� DOVR�GHVLJQ�SDWWHUQV"�� A: )UDPHZRUNV�DQG�OLEUDULHV�DUH�QRW� GHVLJQ�SDWWHUQV��WKH\�SURYLGH�VSHFLILF� LPSOHPHQWDWLRQV�WKDW�ZH�OLQN�LQWR�RXU� FRGH��6RPHWLPHV��KRZHYHU��OLEUDULHV�DQG� �IUDPHZRUNV�PDNH�XVH�RI�GHVLJQ�SDWWHUQV� LQ�WKHLU�LPSOHPHQWDWLRQV���7KDW·V�JUHDW�� EHFDXVH�RQFH�\RX�XQGHUVWDQG�GHVLJQ� SDWWHUQV��\RX·OO�PRUH�TXLFNO\� XQGHUVWDQG�$3,V�WKDW�DUH�VWUXFWXUHG� DURXQG�GHVLJQ�SDWWHUQV� Q: 6R��WKHUH�DUH�QR�OLEUDULHV�RI� GHVLJQ�SDWWHUQV"� A: 1R��EXW�\RX�ZLOO�OHDUQ�ODWHU�DERXW� SDWWHUQ�FDWDORJV�ZLWK�OLVWV�RI�SDWWHUQV�WKDW� \RX�FDQ�DSSO\�WR�\RXU�DSSOLFDWLRQV� <RXU�%5$ ,1 <RXU�&RGH��QRZ�QHZ � DQG�LPSURYHG�ZLWK� GHVLJQ�SDWWHUQV� $� %X QF K� RI �3 DW WH UQ V VZLP��GLVSOD\�� SHUIRUP4XD FN�� SHUIRUP)O\� � VHW)O\%HKD YLRU�� VHW4XDFN% HKDYLRU�� ���27+(5�G XFN�OLNH�PH WKRGV��� 'XFN )O\%HKDYLR U�IO\%HKDY LRU� 4XDFN%HK DYLRU�TXDF N%HKDYLRU � ��LQWHUIDFH !! )O\%HKDYLR U IO\�� IO\���^ �����LPSOHPH QWV�GXFN�IO\ LQJ ` )O\:LWK:LQ JV IO\���^ �����GR�QRWKL QJ���FDQ·W�IO \� ` )O\1R:D\ ��LQWHUIDFH !! 4XDFN%HK DYLRU TXDFN�� TXDFN��^ �����LPSOHPH QWV�GXFN�TX DFNLQJ ` 4XDFN TXDFN���^ �����UXEEHU�G XFNLH�VTXHD N ` 6TXHDN TXDFN���^ �����GR�QRWKL QJ���FDQ·W�T XDFN� ` 0XWH4XDFN GLVSOD\���^ ���ORRNV�OLNH �D�GHFR\�GX FN�` 'HFR\�'XF N GLVSOD\���^ ���ORRNV�OLNH �D�PDOODUG�` 0DOODUG�'X FN GLVSOD\���^ ���ORRNV�OLNH �D�UHGKHDG� ` 5HGKHDG�' XFN GLVSOD\���^ ���ORRNV�OLNH �D�UXEEHUGX FN�` 5XEEHU�'X FN (QFDSVX ODWHG�À�\� EHKDYLRU (QFDSVX ODWHG�TXD FN�EHKDY LRU&OLHQW� 9LHZ &RQWU ROOHU 0RGH O 5HTX HVW 09& 6XEMHFW�2EMH FW � LQW ���'RJ�2EMH FW 0RXVH�2EM HF W ��&DW�2EMHF W��'XFN�2EM HF W 2EVHUYHUV � � � � $XWRPDWLF�XSGDWH�QRWLILFDWLRQ 2EMHFW�WKDW� KROGV�VWDWH 'H SH QG HQ W� 2E MHF WV 2%6(59(5 Chapter 1. Welcome to Design Patterns Page 29 Return to Table of Contents Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra ISBN: 0596007124 Publisher: O'Reilly Prepared for Ann Cherkis, Safari ID: maottw@gmail.com 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 ��� &KDSWHU�� 3DWWHUQV�DUH� QRWKLQJ�PRUH�WKDQ�XVLQJ� 22�GHVLJQ�SULQFLSOHV��� ;SMX\QKIT�,M^MTWXMZ .ZQMVLTa� 8I\\MZV[�/]Z] 'HYHORSHU���2ND\��KPP��EXW�LVQ·W�WKLV�DOO�MXVW�JRRG�REMHFW�RULHQWHG�GHVLJQ��,�PHDQ� DV�ORQJ�DV�,�IROORZ�HQFDSVXODWLRQ�DQG�,�NQRZ�DERXW�DEVWUDFWLRQ��LQKHULWDQFH��DQG� SRO\PRUSKLVP��GR�,�UHDOO\�QHHG�WR�WKLQN�DERXW�'HVLJQ�3DWWHUQV"��,VQ·W�LW�SUHWW\� VWUDLJKWIRUZDUG"��,VQ·W�WKLV�ZK\�,�WRRN�DOO�WKRVH�22�FRXUVHV"�,�WKLQN�'HVLJQ� 3DWWHUQV�DUH�XVHIXO�IRU�SHRSOH�ZKR�GRQ·W�NQRZ�JRRG�22�GHVLJQ� *XUX���$K��WKLV�LV�RQH�RI�WKH�WUXH�PLVXQGHUVWDQGLQJV�RI�REMHFW�RULHQWHG� GHYHORSPHQW��WKDW�E\�NQRZLQJ�WKH�22�EDVLFV�ZH�DUH�DXWRPDWLFDOO\�JRLQJ�WR�EH�JRRG�DW� EXLOGLQJ�ÁH[LEOH��UHXVDEOH��DQG�PDLQWDLQDEOH�V\VWHPV� 'HYHORSHU��1R" *XUX��1R��$V�LW�WXUQV�RXW��FRQVWUXFWLQJ�22�V\VWHPV�WKDW�KDYH�WKHVH�SURSHUWLHV�LV� QRW�DOZD\V�REYLRXV�DQG�KDV�EHHQ�GLVFRYHUHG�RQO\�WKURXJK�KDUG�ZRUN� 'HYHORSHU��,�WKLQN�,·P�VWDUWLQJ�WR�JHW�LW���7KHVH��VRPHWLPHV�QRQ�REYLRXV��ZD\V�RI� FRQVWUXFWLQJ�REMHFW�RULHQWHG�V\VWHPV�KDYH�EHHQ�FROOHFWHG��� *XUX�����\HV��LQWR�D�VHW�RI�SDWWHUQV�FDOOHG�'HVLJQ�3DWWHUQV� 'HYHORSHU��6R��E\�NQRZLQJ�SDWWHUQV��,�FDQ�VNLS�WKH�KDUG�ZRUN�DQG�MXPS�VWUDLJKW�WR� GHVLJQV�WKDW�DOZD\V�ZRUN" *XUX��<HV��WR�DQ�H[WHQW��EXW�UHPHPEHU��GHVLJQ�LV�DQ�DUW��7KHUH�ZLOO�DOZD\V�EH� WUDGHRIIV��%XW��LI�\RX�IROORZ�ZHOO�WKRXJKW�RXW�DQG�WLPH�WHVWHG�GHVLJQ�SDWWHUQV��\RX·OO� EH�ZD\�DKHDG��� 'HYHORSHU��:KDW�GR�,�GR�LI�,�FDQ·W�ÀQG�D�SDWWHUQ" $�FRPPRQ�PLVFRQFHSWLRQ�� *UDVVKRSSHU��EXW�LW·V�PRUH� VXEWOH�WKDQ�WKDW��<RX�KDYH� PXFK�WR�OHDUQ��� ZK\�GHVLJQ�SDWWHUQV" Chapter 1. Welcome to Design Patterns Page 30 Return to Table of Contents Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra ISBN: 0596007124 Publisher: O'Reilly Prepared for Ann Cherkis, Safari ID: maottw@gmail.com 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 LQWUR�WR�'HVLJQ�3DWWHUQV \RX�DUH�KHUH�� �� 5HPHPEHU��NQRZLQJ� FRQFHSWV�OLNH�DEVWUDFWLRQ�� LQKHULWDQFH��DQG�SRO\PRUSKLVP�GR� QRW�PDNH�\RX�D�JRRG�REMHFW�RULHQWHG� GHVLJQHU���$�GHVLJQ�JXUX�WKLQNV�DERXW� KRZ�WR�FUHDWH�ÁH[LEOH�GHVLJQV�WKDW� DUH�PDLQWDLQDEOH�DQG�WKDW�FDQ� FRSH�ZLWK�FKDQJH� *XUX��7KHUH�DUH�VRPH�REMHFW�RULHQWHG�SULQFLSOHV�WKDW� XQGHUOLH�WKH�SDWWHUQV��DQG�NQRZLQJ�WKHVH�ZLOO�KHOS�\RX� WR�FRSH�ZKHQ�\RX�FDQ·W�ÀQG�D�SDWWHUQ�WKDW�PDWFKHV�\RXU� SUREOHP� 'HYHORSHU��3ULQFLSOHV"��<RX�PHDQ�EH\RQG�DEVWUDFWLRQ�� HQFDSVXODWLRQ��DQG��� *XUX��<HV��RQH�RI�WKH�VHFUHWV�WR�FUHDWLQJ�PDLQWDLQDEOH� 22�V\VWHPV�LV�WKLQNLQJ�DERXW�KRZ�WKH\�PLJKW�FKDQJH�LQ�WKH� IXWXUH�DQG�WKHVH�SULQFLSOHV�DGGUHVV�WKRVH�LVVXHV� Chapter 1. Welcome to Design Patterns Page 31 Return to Table of Contents Chapter 1. Welcome to Design Patterns Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra ISBN: 0596007124 Publisher: O'Reilly Prepared for Ann Cherkis, Safari ID: maottw@gmail.com
Compartilhar