Buscar

Head First - Design Patterns

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

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais