Section 1.2. But now we need the ducks to FLY... 3
Section 1.3. But something went horribly wrong... 4
Section 1.4. Joe thinks about inheritance... 5
Section 1.5. Sharpen your pencil... 5
Section 1.6. How about an interface?... 6
Section 1.7. What would you do if you were Joe?... 7
Section 1.8. The one constant in software development... 8
Section 1.9. Sharpen your pencil... 8
Section 1.10. Zeroing in on the problem... 9
Section 1.11. Separating what changes from what stays the same... 10
Section 1.12. Designing the Duck Behaviors... 11
Section 1.13. Implementing the Duck Behaviors... 13
Section 1.14. There are no Dumb Questions... 14
Section 1.15. Sharpen your pencil... 14
Section 1.16. Integrating the Duck Behavior... 15
Section 1.17. More Integration... 16
Section 1.18. Testing the Duck code... 18
Section 1.19. Setting behavior dynamically... 20
Section 1.20. The Big Picture on encapsulated behaviors... 22
Section 1.21. HAS-A can be better than IS-A... 23
Section 1.22. Speaking of Design Patterns... 24
Section 1.23. Design Puzzle... 25
Section 1.24. Overheard at the local diner... 26
Section 1.25. Overheard in the next cubicle... 27
Section 1.26. The power of a shared pattern vocabulary... 28
Section 1.27. How do I use Design Patterns?... 29
Section 1.28. There are no Dumb Questions... 29
Section 1.29. Skeptical Developer-Friendly Patterns Guru... 30
Section 1.30. Tools for your Design Toolbox... 32
Section 1.31. Design Puzzle Solution... 34
Section 1.32. Solutions... 35
Chapter 1. Welcome to Design Patterns
Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra ISBN: 0596007124 Publisher: O'Reilly
Prepared for Ann Cherkis, Safari ID: [email protected]
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.
WKLVLVDQHZFKDSWHU
6RPHRQHKDVDOUHDG\VROYHG\RXUSUREOHPV,QWKLVFKDSWHU\RX¶OOOHDUQ
ZK\DQGKRZ\RXFDQH[SORLWWKHZLVGRPDQGOHVVRQVOHDUQHGE\RWKHUGHYHORSHUVZKR¶YH EHHQGRZQWKHVDPHGHVLJQSUREOHPURDGDQGVXUYLYHGWKHWULS%HIRUHZH¶UHGRQHZH¶OO ORRNDWWKHXVHDQGEHQH¿WVRIGHVLJQSDWWHUQVORRNDWVRPHNH\22GHVLJQSULQFLSOHVDQG ZDONWKURXJKDQH[DPSOHRIKRZRQHSDWWHUQZRUNV7KHEHVWZD\WRXVHSDWWHUQVLVWRORDG \RXUEUDLQZLWKWKHPDQGWKHQUHFRJQL]HSODFHVLQ\RXUGHVLJQVDQGH[LVWLQJDSSOLFDWLRQV ZKHUH\RXFDQDSSO\WKHP,QVWHDGRIFRGHUHXVHZLWKSDWWHUQV\RXJHWH[SHULHQFHUHXVH:HOFRPHWR
'HVLJQ3DWWHUQV
Intro to Design Patterns
1RZWKDWZH·UHOLYLQJ LQ2EMHFWYLOOHZH·YHMXVWJRW WRJHWLQWR'HVLJQ3DWWHUQV HYHU\RQHLVGRLQJWKHP6RRQ ZH·OOEHWKHKLWRI-LPDQG
%HWW\·V:HGQHVGD\QLJKW SDWWHUQVJURXS
4
5
4
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: [email protected]
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.
&KDSWHU
1\[\IZ\ML_Q\PI[QUXTM;QU=,]KSIXX
2WM_WZS[NWZIKWUXIVa\PI\UISM[IPQOPTa[]KKM[[N]TL]KSXWVL
[QU]TI\QWVOIUM
;QU=,]KS<PMOIUMKIV[PW_ITIZOM^IZQM\aWN
L]KS[XMKQM[[_QUUQVOIVLUISQVOY]IKSQVO[W]VL[<PMQVQ\QIT
LM[QOVMZ[WN \PM[a[\MU][ML[\IVLIZL77\MKPVQY]M[IVLKZMI\ML
WVM,]KS[]XMZKTI[[NZWU_PQKPITTW\PMZL]KS\aXM[QVPMZQ\
'XFN TXDFN VZLP GLVSOD\
27+(5GXFNOLNHPHWKRGV
GLVSOD\^ ORRNVOLNHDPDOODUG`
0DOODUG'XFN
GLVSOD\^ ORRNVOLNHDUHGKHDG`
5HGKHDG'XFN
/RWVRIRWKHUW\SHVRIGXFNV
LQKHULWIURPWKH'XFNFODVV
(DFKGXFNVXEW\SH
LVUHVSRQVLEOHIRU
LPSOHPHQWLQJLWVRZQ
GLVSOD\EHKDYLRU
IRUKRZLWORRNVRQ
WKHVFUHHQ
$OOGXFNVTXDFNDQGVZLPWKH
VXSHUFODVVWDNHVFDUHRIWKH
LPSOHPHQWDWLRQFRGH
1V\PMTI[\aMIZ\PMKWUXIVaPI[JMMV]VLMZQVKZMI[QVOXZM[[]ZM
NZWUKWUXM\Q\WZ[)N\MZI_MMSTWVOWNN[Q\MJZIQV[\WZUQVO
[M[[QWVW^MZOWTN\PMKWUXIVaM`MK]\Q^M[\PQVSQ\¼[\QUMNWZIJQO
QVVW^I\QWV<PMaVMML[WUM\PQVOZMITTaQUXZM[[Q^M\W[PW_I\\PM
]XKWUQVO[PIZMPWTLMZ[UMM\QVOQV5I]QVM`\_MMS
7KHGLVSOD\PHWKRGLV
DEVWUDFWVLQFHDOOGXFN
VXEW\SHVORRNGLIIHUHQW
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: [email protected]
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.
\RXDUHKHUH
-RH
,MXVWQHHGWRDGGDÁ\ PHWKRGLQWKH'XFNFODVVDQG
WKHQDOOWKHGXFNVZLOOLQKHULWLW 1RZ·VP\WLPHWRUHDOO\VKRZP\
WUXH22JHQLXV
$OOVXEFODVVHV
LQKHULWIO\
:KDW-RHDGGHG
<PMM`MK]\Q^M[LMKQLML\PI\ÆaQVOL]KS[Q[R][\_PI\\PM[QU]TI\WZVMML[\WJTW_I_Ia\PMW\PMZL]KS[QUKWUXM\Q\WZ[ )VLWN KW]Z[M2WM¼[UIVIOMZ\WTL\PMUQ\¼TTJMVWXZWJTMU NWZ2WM\WR][\_PQX[WUM\PQVO]XQVI_MMS¹)N\MZITTº[IQL 2WM¼[JW[[¹PM¼[IV77XZWOZIUUMZPW_PIZLKIVQ\JM'º
*]\VW__MVMML\PML]KS[\W.4A
2WKHU'XFNW\SHV
'XFNTXDFN VZLP GLVSOD\
IO\
27+(5GXFNOLNHPHWKRGV
GLVSOD\^ ORRNVOLNHDPDOODUG`
0DOODUG'XFN
GLVSOD\^ ORRNVOLNHDUHGKHDG`
5HGKHDG'XFN
:KDWZHZDQW
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: [email protected]
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.
&KDSWHU
ZHUHUXEEHUGXFNLHVÁ\LQJDURXQG WKHVFUHHQ:DVWKLV\RXULGHDRI
DMRNH"<RXPLJKWZDQWWRVSHQG VRPHWLPHRQ0RQVWHUFRP
2WMNIQTML\WVW\QKM\PI\VW\ITT []JKTI[[M[WN ,]KS[PW]TLÆa?PMV 2WMILLMLVM_JMPI^QWZ\W\PM ,]KS[]XMZKTI[[PM_I[IT[WILLQVO JMPI^QWZ\PI\_I[VW\IXXZWXZQI\M NWZ[WUM,]KS[]JKTI[[M[0MVW_ PI[ÆaQVOQVIVQUI\MWJRMK\[QV\PM ;QU=,]KSXZWOZIU
)TWKITQbML]XLI\M\W\PMKWLMKI][MLIVWV TWKIT[QLMMNNMK\ÆaQVOZ]JJMZL]KS[
:KDWKDSSHQHG"
TXDFN VZLP
GLVSOD\
IO\
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: [email protected]
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.
\RXDUHKHUH
2WM\PQVS[IJW]\QVPMZQ\IVKM
,FRXOGDOZD\VMXVW RYHUULGHWKHÁ\PHWKRGLQ UXEEHUGXFNWKHZD\,DPZLWK
WKHTXDFNPHWKRG
TXDFN^VTXHDN` GLVSOD\^UXEEHUGXFN` IO\^
RYHUULGHWRGRQRWKLQJ `
5XEEHU'XFN
6KDUSHQ \RXU SHQFLO
R) +WLMQ[L]XTQKI\MLIKZW[[[]JKTI[[M[
R* :]V\QUMJMPI^QWZKPIVOM[IZMLQNÅK]T\
R+ ?MKIV¼\UISML]KS[LIVKM
R, 0IZL\WOIQVSVW_TMLOMWN ITTL]KSJMPI^QWZ[
R- ,]KS[KIV¼\ÆaIVLY]IKSI\\PM[IUM\QUM
R. +PIVOM[KIV]VQV\MV\QWVITTaINNMK\W\PMZL]KS[
?PQKPWN \PMNWTTW_QVOIZMLQ[IL^IV\IOM[WN ][QVOQVPMZQ\IVKM\WXZW^QLM,]KSJMPI^QWZ'+PWW[MITT\PI\IXXTa
TXDFN^
RYHUULGHWRGRQRWKLQJ `
GLVSOD\^GHFR\GXFN` IO\^
RYHUULGHWRGRQRWKLQJ `
'HFR\'XFN
+HUH·VDQRWKHUFODVVLQWKH
KLHUDUFK\QRWLFHWKDWOLNH
5XEEHU'XFNLWGRHVQ·WIO\
EXWLWDOVRGRHVQ·WTXDFN
%XWWKHQZKDWKDSSHQVZKHQ ZHDGGZRRGHQGHFR\GXFNV WRWKHSURJUDP"7KH\DUHQ·W
VXSSRVHGWRÁ\RUTXDFN
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: [email protected]
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.
&KDSWHU
,FRXOGWDNHWKHÁ\RXWRIWKH 'XFNVXSHUFODVVDQGPDNHD )O\DEOHLQWHUIDFHZLWKDÁ\ PHWKRG7KDWZD\RQO\WKHGXFNVWKDW DUHVXSSRVHGWRÁ\ZLOOLPSOHPHQWWKDW LQWHUIDFHDQGKDYHDÁ\PHWKRGDQG ,PLJKWDVZHOOPDNHD4XDFNDEOHWRR VLQFHQRWDOOGXFNVFDQTXDFN
GLVSOD\ IO\ TXDFN
0DOODUG'XFN
GLVSOD\ IO\ TXDFN
5HGKHDG'XFN
GLVSOD\ TXDFN
5XEEHU'XFN VZLP
GLVSOD\
27+(5GXFNOLNHPHWKRGV
'XFN
GLVSOD\ 'HFR\'XFN IO\
)O\DEOH
TXDFN
4XDFNDEOH
0W_IJW]\IVQV\MZNIKM'
2WMZMITQbML\PI\QVPMZQ\IVKMXZWJIJTa_I[V¼\\PM IV[_MZJMKI][MPMR][\OW\IUMUW\PI\[Ia[\PI\ \PMM`MK]\Q^M[VW__IV\\W]XLI\M\PMXZWL]K\M^MZa [Q`UWV\P[QV_Ia[\PMaPI^MV¼\aM\LMKQLMLWV2WM SVW_[\PM[XMK_QTTSMMXKPIVOQVOIVLPM¼TTJMNWZKML \WTWWSI\IVLXW[[QJTaW^MZZQLMÆaIVLY]IKSNWZ M^MZaVM_,]KS[]JKTI[[\PI\¼[M^MZILLML\W\PM XZWOZIUNWZM^MZ;WPMVMML[IKTMIVMZ_Ia\WPI^MWVTa[WUMJ]\VW\
ITTWN \PML]KS\aXM[ÆaWZY]IKS
:KDWGR<28WKLQNDERXWWKLVGHVLJQ"
LQKHULWDQFHLVQRWWKHDQVZHUChapter 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: [email protected]
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.
\RXDUHKHUH
7KDWLVOLNHWKHGXPEHVWLGHD \RX·YHFRPHXSZLWK&DQ\RXVD\ ´GXSOLFDWHFRGHµ",I\RXWKRXJKW KDYLQJWRRYHUULGHDIHZPHWKRGVZDVEDG
KRZDUH\RXJRQQDIHHOZKHQ\RXQHHG WRPDNHDOLWWOHFKDQJHWRWKHÁ\LQJ
EHKDYLRULQDOORIWKHÁ\LQJ 'XFNVXEFODVVHV"
?PI\_W]TLaW]LWQNaW]_MZM2WM'
?MSVW_\PI\VW\
ITT
WN \PM[]JKTI[[M[[PW]TLPI^MÆaQVOWZY]IKSQVO
JMPI^QWZ[WQVPMZQ\IVKMQ[V¼\\PMZQOP\IV[_MZ*]\_PQTMPI^QVO
\PM[]JKTI[[M[QUXTMUMV\.TaIJTMIVLWZ9]IKSIJTM[WT^M[
XIZ\
WN
\PMXZWJTMUVWQVIXXZWXZQI\MTaÆaQVOZ]JJMZL]KS[Q\KWUXTM\MTa
LM[\ZWa[KWLMZM][MNWZ\PW[MJMPI^QWZ[[WQ\R][\KZMI\M[I
LQNNMZMV\
UIQV\MVIVKMVQOP\UIZM)VLWN KW]Z[M\PMZMUQOP\JMUWZM\PIV
WVMSQVLWN ÆaQVOJMPI^QWZM^MVIUWVO\PML]KS[\PI\
LW
Æa
)\\PQ[XWQV\aW]UQOP\JM_IQ\QVONWZI,M[QOV8I\\MZV\WKWUM
ZQLQVOQVWVI_PQ\MPWZ[MIVL[I^M\PMLIa*]\_PI\N]V_W]TL\PI\
JM'6W_M¼ZMOWQVO\WÅO]ZMW]\I[WT]\QWV\PMWTLNI[PQWVML_Ia¸
JaIXXTaQVOOWWL77[WN\_IZMLM[QOVXZQVKQXTM[
:RXOGQ·WLWEHGUHDP\LI RQO\WKHUHZHUHDZD\WREXLOG VRIWZDUHVRWKDWZKHQZHQHHGWR FKDQJHLWZHFRXOGGRVRZLWKWKHOHDVW SRVVLEOHLPSDFWRQWKHH[LVWLQJFRGH"
:HFRXOGVSHQGOHVVWLPHUHZRUNLQJ FRGHDQGPRUHPDNLQJWKHSURJUDP
GRFRROHUWKLQJV
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: [email protected]
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.
&KDSWHU
7SIa_PI\¼[\PMWVM\PQVOaW]KIVIT_Ia[KW]V\WVQV[WN\_IZMLM^MTWXUMV\'
6WUI\\MZ_PMZMaW]_WZS_PI\aW]¼ZMJ]QTLQVOWZ_PI\TIVO]IOMaW]IZMXZWOZIUUQVOQV_PI\¼[ \PMWVM\Z]MKWV[\IV\\PI\_QTTJM_Q\PaW]IT_Ia['<PMWVMKWV[\IV\QV[WN\ _IZMLM^MTWXUMV\
&+$1*(
][MIUQZZWZ\W[MM\PMIV[_MZ
6WUI\\MZPW__MTTaW]LM[QOVIVIXXTQKI\QWVW^MZ\QUMIV IXXTQKI\QWVU][\OZW_IVLKPIVOMWZQ\_QTTLQM
6KDUSHQ \RXU SHQFLO
/RWVRIWKLQJVFDQGULYHFKDQJH/LVWVRPHUHDVRQV \RX·YHKDGWRFKDQJHFRGHLQ\RXUDSSOLFDWLRQVZHSXW LQDFRXSOHRIRXURZQWRJHW\RXVWDUWHG
0\FXVWRPHUVRUXVHUVGHFLGHWKH\ZDQWVRPHWKLQJHOVHRUWKH\ZDQWQHZIXQFWLRQDOLW\
0\FRPSDQ\GHFLGHGLWLVJRLQJZLWKDQRWKHUGDWDEDVHYHQGRUDQGLWLVDOVRSXUFKDVLQJ
LWVGDWDIURPDQRWKHUVXSSOLHUWKDWXVHVDGLIIHUHQWGDWDIRUPDW$UJK
FKDQJHLVFRQVWDQW
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: [email protected]
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.
\RXDUHKHUH ;W_MSVW_][QVOQVPMZQ\IVKMPI[V¼\_WZSMLW]\^MZa_MTT[QVKM
\PML]KSJMPI^QWZSMMX[KPIVOQVOIKZW[[\PM[]JKTI[[M[IVLQ\¼[ VW\IXXZWXZQI\MNWZITT[]JKTI[[M[\WPI^M\PW[MJMPI^QWZ[<PM .TaIJTMIVL9]IKSIJTMQV\MZNIKM[W]VLMLXZWUQ[QVOI\ÅZ[\¸WVTa L]KS[\PI\ZMITTaLWÆa_QTTJM.TaIJTMM\K¸M`KMX\2I^IQV\MZNIKM[ PI^MVWQUXTMUMV\I\QWVKWLM[WVWKWLMZM][M)VL\PI\UMIV[ \PI\_PMVM^MZaW]VMML\WUWLQNaIJMPI^QWZaW]¼ZMNWZKML\W \ZIKSLW_VIVLKPIVOMQ\QVITT\PMLQNNMZMV\[]JKTI[[M[_PMZM\PI\ JMPI^QWZQ[LMÅVMLXZWJIJTaQV\ZWL]KQVOVM_J]O[ITWVO\PM_Ia 4]KSQTa\PMZM¼[ILM[QOVXZQVKQXTMNWZR][\\PQ[[Q\]I\QWV
BMZWQVOQVWV\PMXZWJTMU
1VW\PMZ_WZL[QN aW]¼^MOW\[WUMI[XMK\WN aW]ZKWLM\PI\Q[ KPIVOQVO[Ia_Q\PM^MZaVM_ZMY]QZMUMV\\PMVaW]SVW_aW]¼^M OW\IJMPI^QWZ\PI\VMML[\WJMX]TTMLW]\IVL[MXIZI\MLNZWUITT \PM[\]NN \PI\LWM[V¼\KPIVOM
0MZM¼[IVW\PMZ_Ia\W\PQVSIJW]\\PQ[XZQVKQXTM"\ISM\PMXIZ\[ \PI\^IZaIVLMVKIX[]TI\M\PMU[W\PI\TI\MZaW]KIV IT\MZWZM`\MVL\PMXIZ\[\PI\^IZa_Q\PW]\INNMK\QVO \PW[M\PI\LWV¼\
)[[QUXTMI[\PQ[KWVKMX\Q[Q\NWZU[\PMJI[Q[NWZITUW[\M^MZa LM[QOVXI\\MZV)TTXI\\MZV[XZW^QLMI_Ia\WTM\[WUMXIZ\WN I[a[\MU ^IZaQVLMXMVLMV\TaWN ITTW\PMZXIZ\[
7SIa\QUM\WX]TT\PML]KSJMPI^QWZW]\WN \PM,]KSKTI[[M[
7DNHZKDWYDULHVDQG
´HQFDSVXODWHµLWVRLWZRQ·W
DIIHFWWKHUHVWRI\RXUFRGH
7KHUHVXOW")HZHU
XQLQWHQGHGFRQVHTXHQFHV
IURPFRGHFKDQJHVDQGPRUH
IOH[LELOLW\LQ\RXUV\VWHPV
'HVLJQ3ULQFLSOH,GHQWLI\WKHDVSHFWVRI\RXU DSSOLFDWLRQWKDWYDU\DQGVHSDUDWH WKHPIURPZKDWVWD\VWKHVDPH
2XUILUVWRIPDQ\GHVLJQ
SULQFLSOHV:H·OOVSHQGPRUHWLPH
RQWKHVHWKUXRJKRXWWKHERRN
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: [email protected]
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.
&KDSWHU
;MXIZI\QVO_PI\KPIVOM[NZWU_PI\[\Ia[\PM[IUM
'XFNFODVV
7KH'XFNFODVVLVVWLOOWKHVXSHUFODVV
RIDOOGXFNVEXWZHDUHSXOOLQJRXW
WKHIO\DQGTXDFNEHKDYLRUVDQG
SXWWLQJWKHPLQWRDQRWKHUFODVV
VWUXFWXUH
9DULRXVEHKDYLRU
LPSOHPHQWDWLRQVDUHJRLQJ
WROLYHKHUH
1RZIO\LQJDQGTXDFNLQJHDFKJHW
WKHLURZQVHWRIFODVVHV
'XFN%HKDYLRUV
4XDFNLQJ%HKDYLRUV )O\LQJ%HKDYLRUV
3XOORXWZKDWYDULHV
?PMZMLW_M[\IZ\')[NIZI[_MKIV\MTTW\PMZ\PIV\PMXZWJTMU[_Q\PÆaIVLY]IKS\PM,]KS KTI[[Q[_WZSQVO_MTTIVL\PMZMIZMVWW\PMZXIZ\[WN Q\\PI\IXXMIZ\W^IZaWZKPIVOMNZMY]MV\Ta ;WW\PMZ\PIVINM_[TQOP\KPIVOM[_M¼ZMOWQVO\WXZM\\aU]KPTMI^M\PM,]KSKTI[[ITWVM 6W_\W[MXIZI\M\PM¹XIZ\[\PI\KPIVOMNZWU\PW[M\PI\[\Ia\PM[IUMº_MIZMOWQVO\WKZMI\M\_W [M\[WN KTI[[M[\W\ITTaIXIZ\NZWU,]KSWVMNWZÆaIVLWVMNWZY]IKS-IKP[M\WN KTI[[M[_QTTPWTL ITT\PMQUXTMUMV\I\QWV[WN \PMQZZM[XMK\Q^MJMPI^QWZ.WZQV[\IVKM_MUQOP\PI^MWVMKTI[[\PI\ QUXTMUMV\[Y]IKSQVOIVW\PMZ\PI\QUXTMUMV\[[Y]MISQVOIVLIVW\PMZ\PI\QUXTMUMV\[[QTMVKM
:HNQRZWKDWÁ\DQGTXDFNDUHWKHSDUWVRIWKH
'XFNFODVVWKDWYDU\DFURVVGXFNV
7RVHSDUDWHWKHVHEHKDYLRUVIURPWKH'XFNFODVVZH·OO
SXOOERWKPHWKRGVRXWRIWKH'XFNFODVVDQGFUHDWHD
QHZVHWRIFODVVHVWRUHSUHVHQWHDFKEHKDYLRU
SXOORXWZKDWYDULHV
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: [email protected]
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.
\RXDUHKHUH
;WPW_IZM_MOWQVO\WLM[QOV\PM[M\WN KTI[[M[\PI\ QUXTMUMV\\PMÆaIVLY]IKSJMPI^QWZ['
?M¼LTQSM\WSMMX\PQVO[ÆM`QJTM#IN\MZITTQ\_I[\PMQVÆM`QJQTQ\aQV \PML]KSJMPI^QWZ[\PI\OW\][QV\W\ZW]JTMQV\PMÅZ[\XTIKM)VL_M SVW_\PI\_M_IV\\WI[[QOVJMPI^QWZ[\W\PMQV[\IVKM[WN ,]KS.WZ M`IUXTM_MUQOP\_IV\\WQV[\IV\QI\MIVM_5ITTIZL,]KSQV[\IVKM IVLQVQ\QITQbMQ\_Q\PI[XMKQÅK\aXMWN ÆaQVOJMPI^QWZ)VL_PQTM _M¼ZM\PMZM_PaVW\UISM[]ZM\PI\_MKIVKPIVOM\PMJMPI^QWZWN IL]KSLaVIUQKITTa'1VW\PMZ_WZL[_M[PW]TLQVKT]LMJMPI^QWZ [M\\MZUM\PWL[QV\PM,]KSKTI[[M[[W\PI\_MKIV[IaKPIVOM\PM 5ITTIZL,]KS¼[ÆaQVOJMPI^QWZI\Z]V\QUM
/Q^MV\PM[MOWIT[TM\¼[TWWSI\W]Z[MKWVLLM[QOVXZQVKQXTM" .Ta*MPI^QWZIVL9]IKS*MPI^QWZ·IVLMIKPQUXTMUMV\I\QWVWN I JMPI^QWZ_QTTQUXTMUMV\WVMWN \PW[MQV\MZNIKM[
;W\PQ[\QUMQ\_WV¼\JM\PM,]KSKTI[[M[\PI\_QTTQUXTMUMV\\PM ÆaQVOIVLY]IKSQVOQV\MZNIKM[1V[\MIL_M¼TTUISMI[M\WN KTI[[M[ _PW[MMV\QZMZMI[WVNWZTQ^QVOQ[\WZMXZM[MV\IJMPI^QWZNWZM`IUXTM ¹[Y]MISQVOºIVLQ\¼[\PMJMPI^QWZKTI[[ZI\PMZ\PIV\PM,]KSKTI[[
\PI\_QTTQUXTMUMV\\PMJMPI^QWZQV\MZNIKM
<PQ[Q[QVKWV\ZI[\\W\PM_Ia_M_MZMLWQVO\PQVO[JMNWZM_PMZM IJMPI^QWZMQ\PMZKIUMNZWUIKWVKZM\MQUXTMUMV\I\QWVQV\PM []XMZKTI[[,]KSWZJaXZW^QLQVOI[XMKQITQbMLQUXTMUMV\I\QWVQV\PM []JKTI[[Q\[MTN1VJW\PKI[M[_M_MZMZMTaQVOWVIVQUXTMUMV\I\QWV?M _MZMTWKSMLQV\W][QVO\PI\[XMKQÅKQUXTMUMV\I\QWVIVL\PMZM_I[VW ZWWUNWZKPIVOQVOW]\\PMJMPI^QWZW\PMZ\PIV_ZQ\QVOUWZMKWLM ?Q\PW]ZVM_LM[QOV\PM,]KS[]JKTI[[M[_QTT][MIJMPI^QWZ ZMXZM[MV\MLJaIVQV\MZNIKM.Ta*MPI^QWZIVL9]IKS*MPI^QWZ[W\PI\ \PMIK\]ITQUXTMUMV\I\QWVWN \PMJMPI^QWZQVW\PMZ_WZL[\PM[XMKQÅK KWVKZM\MJMPI^QWZKWLMLQV\PMKTI[[\PI\QUXTMUMV\[\PM.Ta*MPI^QWZ
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: [email protected]
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.
&KDSWHU
<PM_WZLQV\MZNIKMQ[W^MZTWILMLPMZM<PMZM¼[\PMKWVKMX\WN QV\MZNIKMJ]\\PMZM¼[IT[W\PM2I^IKWV[\Z]K\LQWHUIDFHAW] KIVXZWOZIU\WIVQV\MZNIKM_Q\PW]\PI^QVO\WIK\]ITTa][MI 2I^ILQWHUIDFH<PMXWQV\Q[\WM`XTWQ\XWTaUWZXPQ[UJa XZWOZIUUQVO\WI[]XMZ\aXM[W\PI\\PMIK\]ITZ]V\QUMWJRMK\ Q[V¼\TWKSMLQV\W\PMKWLM)VL_MKW]TLZMXPZI[M¹XZWOZIU\W I[]XMZ\aXMºI[¹\PMLMKTIZML\aXMWN \PM^IZQIJTM[[PW]TLJMI []XMZ\aXM][]ITTaIVIJ[\ZIK\KTI[[WZQV\MZNIKM[W\PI\\PMWJRMK\[ I[[QOVML\W\PW[M^IZQIJTM[KIVJMWN IVaKWVKZM\MQUXTMUMV\I\QWV WN \PM[]XMZ\aXM_PQKPUMIV[\PMKTI[[LMKTIZQVO\PMULWM[V¼\ PI^M\WSVW_IJW]\\PMIK\]ITWJRMK\\aXM[ º
<PQ[Q[XZWJIJTaWTLVM_[\WaW]J]\R][\\WUISM[]ZM_M¼ZM ITT[IaQVO\PM[IUM\PQVOPMZM¼[I[QUXTMM`IUXTMWN ][QVOI XWTaUWZXPQK\aXM¸QUIOQVMIVIJ[\ZIK\KTI[[)VQUIT_Q\P\_W KWVKZM\MQUXTMUMV\I\QWV[,WOIVL+I\
8ZWOZIUUQVO\WIVQUXTMUMV\I\QWV_W]TLJM"
'RJG QHZ'RJ GEDUN
*]\XZWOZIUUQVO\WIVQV\MZNIKM[]XMZ\aXM_W]TLJM"
$QLPDODQLPDO QHZ'RJ DQLPDOPDNH6RXQG
-^MVJM\\MZZI\PMZ\PIVPIZLKWLQVO\PMQV[\IV\QI\QWVWN \PM []J\aXMTQSMVM_,WOQV\W\PMKWLMI[[QOV\PMKWVKZM\M QUXTMUMV\I\QWVWJRMK\I\Z]V\QUM"
D JHW$QLPDO DQLPDOPDNH6RXQG
SURJUDPWRDQLQWHUIDFH
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: [email protected]
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.
\RXDUHKHUH
4XDFNVWKDWVTXHDN 4XDFNVWKDWPDNH
QRVRXQGDWDOO
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: [email protected]
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.
&KDSWHU
WKHUH DUH QR
'XPE 4XHVWLRQV
Q:
'R,DOZD\VKDYHWRLPSOHPHQWP\DSSOLFDWLRQILUVWVHH ZKHUHWKLQJVDUHFKDQJLQJDQGWKHQJREDFNDQGVHSDUDWH HQFDSVXODWHWKRVHWKLQJV"A:
1RWDOZD\VRIWHQZKHQ\RXDUHGHVLJQLQJDQDSSOLFDWLRQ \RXDQWLFLSDWHWKRVHDUHDVWKDWDUHJRLQJWRYDU\DQGWKHQJRDKHDG DQGEXLOGWKHIOH[LELOLW\WRGHDOZLWKLWLQWR\RXUFRGH<RX·OOILQG WKDWWKHSULQFLSOHVDQGSDWWHUQVFDQEHDSSOLHGDWDQ\VWDJHRIWKH GHYHORSPHQWOLIHF\FOHQ:
6KRXOGZHPDNH'XFNDQLQWHUIDFHWRR"A:
1RWLQWKLVFDVH$V\RX·OOVHHRQFHZH·YHJRWHYHU\WKLQJ KRRNHGWRJHWKHUZHGREHQHILWE\KDYLQJ'XFNEHDFRQFUHWH FODVVDQGKDYLQJVSHFLILFGXFNVOLNH0DOODUG'XFNLQKHULWFRPPRQ SURSHUWLHVDQGPHWKRGV1RZWKDWZH·YHUHPRYHGZKDWYDULHVIURP WKH'XFNLQKHULWDQFHZHJHWWKHEHQHILWVRIWKLVVWUXFWXUHZLWKRXW WKHSUREOHPVQ:
,WIHHOVDOLWWOHZHLUGWRKDYHDFODVVWKDW·VMXVWD EHKDYLRU$UHQ·WFODVVHVVXSSRVHGWRUHSUHVHQWWKLQJV"$UHQ·W FODVVHVVXSSRVHGWRKDYHERWKVWDWH$1'EHKDYLRU"A:
,QDQ22V\VWHP\HVFODVVHVUHSUHVHQWWKLQJVWKDW JHQHUDOO\KDYHERWKVWDWHLQVWDQFHYDULDEOHVDQGPHWKRGV$QGLQ WKLVFDVHWKHWKLQJKDSSHQVWREHDEHKDYLRU%XWHYHQDEHKDYLRU FDQVWLOOKDYHVWDWHDQGPHWKRGVDIO\LQJEHKDYLRUPLJKWKDYH LQVWDQFHYDULDEOHVUHSUHVHQWLQJWKHDWWULEXWHVIRUWKHIO\LQJZLQJ EHDWVSHUPLQXWHPD[DOWLWXGHDQGVSHHGHWFEHKDYLRU)V[_MZ ["
+ZMI \MI.Ta: WKSM\8W_ MZMLKTI[[
\PI\QUXTMUMV\[\PM. Ta*MPI^QWZ QV\MZNIKM
7VMM`IUXTM IL]KSKITTI \UISM[L]KS[W]VL[ LM^QKM\PI
8VLQJRXUQHZGHVLJQZKDWZRXOG\RXGRLI\RXQHHGHGWR DGGURFNHWSRZHUHGÀ\LQJWRWKH6LP8'XFNDSS"
6KDUSHQ \RXU SHQFLO
&DQ\RXWKLQNRIDFODVVWKDWPLJKWZDQWWRXVHWKH4XDFN EHKDYLRUWKDWLVQ¶WDGXFN"
EHKDYLRULQDFODVV
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: [email protected]
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.
\RXDUHKHUH SXEOLFFODVV'XFN^
4XDFN%HKDYLRUTXDFN%HKDYLRU PRUH
SXEOLFYRLGSHUIRUP4XDFN^ TXDFN%HKDYLRUTXDFN `
`
1V\MOZI\QVO\PM,]KS*MPI^QWZ
.QZ[\_M¼TTILL\_WQV[\IVKM^IZQIJTM[\W\PM,]KSKTI[[KITTMLÆa*MPI^QWZIVL Y]IKS*MPI^QWZ\PI\IZMLMKTIZMLI[\PMQV\MZNIKM\aXMVW\IKWVKZM\MKTI[[QUXTMUMV\I\QWV \aXM-IKPL]KSWJRMK\_QTT[M\\PM[M^IZQIJTM[XWTaUWZXPQKITTa\WZMNMZMVKM\PM[XMKQÅK JMPI^QWZ\aXMQ\_W]TLTQSMI\Z]V\QUM.Ta?Q\P?QVO[;Y]MISM\K
?M¼TTIT[WZMUW^M\PMÆaIVLY]IKSUM\PWL[NZWU\PM,]KSKTI[[IVLIVa[]JKTI[[M[ JMKI][M_M¼^MUW^ML\PQ[JMPI^QWZW]\QV\W\PM.Ta*MPI^QWZIVL9]IKS*MPI^QWZKTI[[M[ ?M¼TTZMXTIKMÆaIVLY]IKSQV\PM,]KSKTI[[_Q\P\_W[QUQTIZUM\PWL[KITTML XMZNWZU.TaIVLXMZNWZU9]IKS#aW]¼TT[MMPW_\PMa_WZSVM`\
7KHNH\LVWKDWD'XFNZLOOQRZGHOHJDWHLWVÁ\LQJ
DQGTXDFNLQJEHKDYLRULQVWHDGRIXVLQJTXDFNLQJDQG
Á\LQJPHWKRGVGHÀQHGLQWKH'XFNFODVVRUVXEFODVV
+HUH·VKRZ
7KHVHPHWKRGVUHSODFH
IO\DQGTXDFN
,QVWDQFHYDULDEOHVKROGDUHIHUHQFHWR
DVSHFLILFEHKDYLRUDWUXQWLPH
6W__MQUXTMUMV\XMZNWZU9]IKS" SHUIRUP4XDFN
VZLP GLVSOD\
SHUIRUP)O\
27+(5GXFNOLNHPHWKRGV
'XFN )O\%HKDYLRUIO\%HKDYLRU 4XDFN%HKDYLRUTXDFN%HKDYLRU
'XFN%HKDYLRUV 4XDFNLQJ%HKDYLRUV )O\LQJ%HKDYLRUV
5DWKHUWKDQKDQGOLQJWKHTXDFNEHKDYLRU
LWVHOIWKH'XFNREMHFWGHOHJDWHVWKDW
EHKDYLRUWRWKHREMHFWUHIHUHQFHGE\
TXDFN%HKDYLRU
8ZM\\a[QUXTMP]P'<WXMZNWZU\PMY]IKSI,]KSR][\ITTW_[\PMWJRMK\\PI\ Q[ZMNMZMVKMLJaY]IKS*MPI^QWZ\WY]IKSNWZQ\
1V\PQ[XIZ\WN \PMKWLM_MLWV¼\KIZM_PI\SQVLWN WJRMK\Q\Q[ITT_MKIZM IJW]\Q[\PI\Q\SVW_[PW_\WY]IKS
(DFK'XFNKDVDUHIHUHQFHWRVRPHWKLQJWKDW
LPSOHPHQWVWKH4XDFN%HKDYLRULQWHUIDFH
7KHEHKDYLRUYDULDEOHVDUH
GHFODUHGDVWKHEHKDYLRU
,17(5)$&(W\SH
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: [email protected]
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.
&KDSWHU
5WZM1V\MOZI\QWV
7SIa\QUM\W_WZZaIJW]\PW_\PMÆa*MPI^QWZIVL
Y]IKS*MPI^QWZQV[\IVKM^IZQIJTM[IZM[M\4M\¼[\ISMITWWSI\ \PM5ITTIZL,]KSKTI[["
SXEOLFFODVV0DOODUG'XFNH[WHQGV'XFN^
SXEOLF0DOODUG'XFN^
TXDFN%HKDYLRU QHZ4XDFN À\%HKDYLRU QHZ)O\:LWK:LQJV `
SXEOLFYRLGGLVSOD\^
6\VWHPRXWSULQWOQ³,¶PDUHDO0DOODUGGXFN´
` `
;W5ITTIZL,]KS¼[Y]IKSQ[IZMITTQ^ML]KSY]IKSVW\I[Y]MISIVL VW\IU]\MY]IKS;W_PI\PIXXMV[PMZM'?PMVI5ITTIZL,]KS Q[QV[\IV\QI\MLQ\[KWV[\Z]K\WZQVQ\QITQbM[\PM5ITTIZL,]KS¼[QVPMZQ\ML Y]IKS*MPI^QWZQV[\IVKM^IZQIJTM\WIVM_QV[\IVKMWN \aXM9]IKSI 9]IKS*MPI^QWZKWVKZM\MQUXTMUMV\I\QWVKTI[[
)VL\PM[IUMQ[\Z]MNWZ\PML]KS¼[ÆaQVOJMPI^QWZ¸\PM5ITTIZL,]KS¼[ KWV[\Z]K\WZQVQ\QITQbM[\PMÆa*MPI^QWZQV[\IVKM^IZQIJTM_Q\PIVQV[\IVKM WN \aXM.Ta?Q\P?QVO[I.Ta*MPI^QWZKWVKZM\MQUXTMUMV\I\QWVKTI[[
$0DOODUG'XFNXVHVWKH4XDFNFODVVWR
KDQGOHLWVTXDFNVRZKHQSHUIRUP4XDFN
LVFDOOHGWKHUHVSRQVLELOLW\IRUWKH
TXDFNLVGHOHJDWHGWRWKH4XDFNREMHFW
DQGZHJHWDUHDOTXDFN
$QGLWXVHV)O\:LWK:LQJVDVLWV
)O\%HKDYLRUW\SH
5HPHPEHU0DOODUG'XFNLQKHULWVWKHTXDFN
%HKDYLRUDQGIO\%HKDYLRULQVWDQFHYDULDEOHV
IURPFODVV'XFN
LQWHJUDWLQJGXFNEHKDYLRU
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: [email protected]
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.
\RXDUHKHUH
:DLWDVHFRQGGLGQ·W\RX VD\ZHVKRXOG127SURJUDPWRDQ LPSOHPHQWDWLRQ"%XWZKDWDUHZHGRLQJ
LQWKDWFRQVWUXFWRU":H·UHPDNLQJD QHZLQVWDQFHRIDFRQFUHWH4XDFN
LPSOHPHQWDWLRQFODVV
/WWLKI\KP\PI\¼[M`IK\Ta_PI\_M¼ZMLWQVO NWZVW_
4I\MZQV\PMJWWS_M¼TTPI^MUWZMXI\\MZV[QV W]Z\WWTJW`\PI\KIVPMTX][Å`Q\
;\QTTVW\QKM\PI\_PQTM_MIZM[M\\QVO\PM JMPI^QWZ[\WKWVKZM\MKTI[[M[JaQV[\IV\QI\QVO IJMPI^QWZKTI[[TQSM9]IKSWZ.Ta?Q\P?QVO[ IVLI[[QOVQVOQ\\WW]ZJMPI^QWZZMNMZMVKM ^IZQIJTM_MKW]TLMI[QTaKPIVOM\PI\I\ Z]V\QUM
;W_M[\QTTPI^MITW\WN ÆM`QJQTQ\aPMZM J]\_M¼ZMLWQVOIXWWZRWJWN QVQ\QITQbQVO \PMQV[\IVKM^IZQIJTM[QVIÆM`QJTM_Ia*]\ \PQVSIJW]\Q\[QVKM\PMY]IKS*MPI^QWZ QV[\IVKM^IZQIJTMQ[IVQV\MZNIKM\aXM_M KW]TL\PZW]OP\PMUIOQKWN XWTaUWZXPQ[U LaVIUQKITTaI[[QOVILQNNMZMV\9]IKS*MPI^QWZ QUXTMUMV\I\QWVKTI[[I\Z]V\QUM
<ISMIUWUMV\IVL\PQVSIJW]\PW_aW] _W]TLQUXTMUMV\IL]KS[W\PI\Q\[JMPI^QWZ KW]TLKPIVOMI\Z]V\QUMAW]¼TT[MM\PMKWLM \PI\LWM[\PQ[INM_XIOM[NZWUVW_
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: [email protected]
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.
&KDSWHU
<M[\QVO\PM,]KSKWLM
7\SHDQGFRPSLOHWKH'XFNFODVVEHORZ'XFNMDYDDQGWKH 0DOODUG'XFNFODVVIURPWZRSDJHVEDFN0DOODUG'XFNMDYD
SXEOLFDEVWUDFWFODVV'XFN^
)O\%HKDYLRUÀ\%HKDYLRU 4XDFN%HKDYLRUTXDFN%HKDYLRU SXEOLF'XFN^
`
SXEOLFDEVWUDFWYRLGGLVSOD\
SXEOLFYRLGSHUIRUP)O\^ À\%HKDYLRUÀ\ `
SXEOLFYRLGSHUIRUP4XDFN^ TXDFN%HKDYLRUTXDFN `
SXEOLFYRLGVZLP^
6\VWHPRXWSULQWOQ³$OOGXFNVÀRDWHYHQGHFR\V´ `
`
'HFODUHWZRUHIHUHQFHYDULDEOHV
IRUWKHEHKDYLRULQWHUIDFHW\SHV
$OOGXFNVXEFODVVHVLQWKHVDPH
SDFNDJHLQKHULWWKHVH
'HOHJDWHWRWKHEHKDYLRUFODVV
7\SHDQGFRPSLOHWKH)O\%HKDYLRULQWHUIDFH)O\%HKDYLRUMDYDDQG WKHWZREHKDYLRULPSOHPHQWDWLRQFODVVHV)O\:LWK:LQJVMDYDDQG )O\1R:D\MDYD
SXEOLFLQWHUIDFH)O\%HKDYLRU^ SXEOLFYRLGÀ\
`
SXEOLFFODVV)O\:LWK:LQJVLPSOHPHQWV)O\%HKDYLRU^ SXEOLFYRLGÀ\^
6\VWHPRXWSULQWOQ³,¶PÀ\LQJ´
` `
SXEOLFFODVV)O\1R:D\LPSOHPHQWV)O\%HKDYLRU^ SXEOLFYRLGÀ\^
6\VWHPRXWSULQWOQ³,FDQ¶WÀ\´ `
`
7KHLQWHUIDFHWKDWDOOIO\LQJ
EHKDYLRUFODVVHVLPSOHPHQW
)O\LQJEHKDYLRULPSOHPHQWDWLRQ
IRUGXFNVWKDW'2IO\
)O\LQJEHKDYLRULPSOHPHQWDWLRQ
IRUGXFNVWKDWGR127IO\OLNH
UXEEHUGXFNVDQGGHFR\GXFNV
WHVWLQJGXFNEHKDYLRUVChapter 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: [email protected]
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.
\RXDUHKHUH )LOH(GLW:LQGRZ+HOS<DGD\DGD\DGD
MDYD0LQL'XFN6LPXODWRU 4XDFN
,¶PÀ\LQJ
SXEOLFFODVV0LQL'XFN6LPXODWRU^
SXEOLFVWDWLFYRLGPDLQ6WULQJ>@DUJV^ 'XFNPDOODUG QHZ0DOODUG'XFN PDOODUGSHUIRUP4XDFN
PDOODUGSHUIRUP)O\ `
`
5XQWKHFRGH
7KLVFDOOVWKH0DOODUG'XFN·VLQKHULWHG
SHUIRUP4XDFNPHWKRGZKLFKWKHQGHOHJDWHVWR
WKHREMHFW·V4XDFN%HKDYLRULHFDOOVTXDFNRQWKH
GXFN·VLQKHULWHGTXDFN%HKDYLRUUHIHUHQFH
7KHQZHGRWKHVDPHWKLQJZLWK0DOODUG'XFN·V
LQKHULWHGSHUIRUP)O\PHWKRG
7\SHDQGFRPSLOHWKHWHVWFODVV
0LQL'XFN6LPXODWRUMDYD
<M[\QVO\PM,]KSKWLMKWV\QV]ML
7\SHDQGFRPSLOHWKH4XDFN%HKDYLRULQWHUIDFH
4XDFN%HKDYLRUMDYDDQGWKHWKUHHEHKDYLRULPSOHPHQWDWLRQ FODVVHV4XDFNMDYD0XWH4XDFNMDYDDQG6THDNMDYD
SXEOLFLQWHUIDFH4XDFN%HKDYLRU^ SXEOLFYRLGTXDFN
`
SXEOLFFODVV4XDFNLPSOHPHQWV4XDFN%HKDYLRU^ SXEOLFYRLGTXDFN^
6\VWHPRXWSULQWOQ³4XDFN´ `
`
SXEOLFFODVV0XWH4XDFNLPSOHPHQWV4XDFN%HKDYLRU^ SXEOLFYRLGTXDFN^
6\VWHPRXWSULQWOQ³6LOHQFH!!´ `
`
SXEOLFFODVV6TXHDNLPSOHPHQWV4XDFN%HKDYLRU^ SXEOLFYRLGTXDFN^
6\VWHPRXWSULQWOQ³6TXHDN´ `
`
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: [email protected]
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.
&KDSWHU
;M\\QVOJMPI^QWZLaVIUQKITTa
?PI\I[PIUM\WPI^MITT\PQ[LaVIUQK\ITMV\J]QT\QV\WW]ZL]KS[IVLVW\JM][QVO Q\ 1UIOQVMaW]_IV\\W[M\\PML]KS¼[JMPI^QWZ\aXM\PZW]OPI[M\\MZUM\PWLWV\PM L]KS[]JKTI[[ZI\PMZ\PIVJaQV[\IV\QI\QVOQ\QV\PML]KS¼[KWV[\Z]K\WZ
$GGWZRQHZPHWKRGVWRWKH'XFNFODVV
?MKIVKITT\PM[MUM\PWL[IVa\QUM_M_IV\\WKPIVOM\PM JMPI^QWZWN IL]KSWV\PMÆa
VZLP GLVSOD\ SHUIRUP4XDFN SHUIRUP)O\ VHW)O\%HKDYLRU VHW4XDFN%HKDYLRU 27+(5GXFNOLNHPHWKRGV
'XFN )O\%HKDYLRUIO\%HKDYLRU 4XDFN%HKDYLRUTXDFN%HKDYLRU SXEOLFYRLGVHW)O\%HKDYLRU)O\%HKDYLRUIE^
À\%HKDYLRU IE `
SXEOLFYRLGVHW4XDFN%HKDYLRU4XDFN%HKDYLRUTE^ TXDFN%HKDYLRU TE
`
HGLWRUQRWHJUDWXLWRXVSXQ¿[
SXEOLFFODVV0RGHO'XFNH[WHQGV'XFN^ SXEOLF0RGHO'XFN^
À\%HKDYLRU QHZ)O\1R:D\ TXDFN%HKDYLRU QHZ4XDFN `
SXEOLFYRLGGLVSOD\^
6\VWHPRXWSULQWOQ³,¶PDPRGHOGXFN´ `
`
SXEOLFFODVV)O\5RFNHW3RZHUHGLPSOHPHQWV)O\%HKDYLRU^ SXEOLFYRLGÀ\^
6\VWHPRXWSULQWOQ³,¶PÀ\LQJZLWKDURFNHW´ `
`
2XUPRGHOGXFNEHJLQVOLIHJURXQGHG
ZLWKRXWDZD\WRIO\
7KDW·VRND\ZH·UHFUHDWLQJD
URFNHWSRZHUHGIO\LQJEHKDYLRU
0DNHDQHZ'XFNW\SH0RGHO'XFNMDYD0DNHDQHZ)O\%HKDYLRUW\SH )O\5RFNHW3RZHUHGMDYD
GXFNVZLWKG\QDPLFEHKDYLRU
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: [email protected]
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.
\RXDUHKHUH SXEOLFFODVV0LQL'XFN6LPXODWRU^
SXEOLFVWDWLFYRLGPDLQ6WULQJ>@DUJV^ 'XFNPDOODUG QHZ0DOODUG'XFN PDOODUGSHUIRUP4XDFN PDOODUGSHUIRUP)O\
'XFNPRGHO QHZ0RGHO'XFN
PRGHOSHUIRUP)O\
PRGHOVHW)O\%HKDYLRUQHZ)O\5RFNHW3RZHUHG
PRGHOSHUIRUP)O\ `
`
7KHILUVWFDOOWRSHUIRUP)O\GHOHJDWHV
WRWKHIO\%HKDYLRUREMHFWVHWLQWKH
0RGHO'XFN·VFRQVWUXFWRUZKLFKLVD
)O\1R:D\LQVWDQFH
)LOH(GLW:LQGRZ+HOS<DEDGDEDGRR MDYD0LQL'XFN6LPXODWRU 4XDFN
,¶PÀ\LQJ ,FDQ¶WÀ\
,¶PÀ\LQJZLWKDURFNHW
5XQLW
&KDQJHWKHWHVWFODVV0LQL'XFN6LPXODWRUMDYDDGGWKH 0RGHO'XFNDQGPDNHWKH0RGHO'XFNURFNHWHQDEOHG
7KLVLQYRNHVWKHPRGHO·VLQKHULWHG
EHKDYLRUVHWWHUPHWKRGDQGYRLOD7KH
PRGHOVXGGHQO\KDVURFNHWSRZHUHG
IO\LQJFDSDELOLW\
,ILWZRUNHGWKHPRGHOGXFNG\QDPLFDOO\
FKDQJHGLWVIO\LQJEHKDYLRU<RXFDQ·WGR
7+$7LIWKHLPSOHPHQWDWLRQOLYHVLQVLGHWKH
GXFNFODVV
7RFKDQJHDGXFN·V
EHKDYLRUDWUXQWLPHMXVW
FDOOWKHGXFN·VVHWWHU
PHWKRGIRUWKDWEHKDYLRU
EHIRUH
DIWHU
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: [email protected]
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.
&KDSWHU
*MTW_Q[\PMMV\QZMZM_WZSMLKTI[[[\Z]K\]ZM?MPI^MM^MZa\PQVOaW]¼LM`XMK\" L]KS[M`\MVLQVO,]KSÆaJMPI^QWZ[QUXTMUMV\QVO.Ta*MPI^QWZIVLY]IKS JMPI^QWZ[QUXTMUMV\QVO9]IKS*MPI^QWZ
6W\QKMIT[W\PI\_M¼^M[\IZ\ML\WLM[KZQJM\PQVO[ITQ\\TMLQNNMZMV\Ta1V[\MIL WN \PQVSQVOWN \PML]KSJMPI^QWZ[I[I[M\WN JMPI^QWZ[_M¼TT[\IZ\\PQVSQVOWN \PMUI[INIUQTaWN ITOWZQ\PU[<PQVSIJW]\Q\"QV\PM;QU=,]KSLM[QOV\PM ITOWZQ\PU[ZMXZM[MV\\PQVO[IL]KS_W]TLLWLQNNMZMV\_Ia[WN Y]IKSQVOWZ ÆaQVOJ]\_MKW]TLR][\I[MI[QTa][M\PM[IUM\MKPVQY]M[NWZI[M\WN KTI[[M[ \PI\QUXTMUMV\\PM_Ia[\WKWUX]\M[\I\M[ITM[\I`JaLQNNMZMV\[\I\M[
GLVSOD\ SHUIRUP4XDFN
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: [email protected]
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.
\RXDUHKHUH <PM0);)ZMTI\QWV[PQXQ[IVQV\MZM[\QVOWVM"MIKPL]KS
PI[I.Ta*MPI^QWZIVLI9]IKS*MPI^QWZ\W_PQKPQ\ LMTMOI\M[ÆaQVOIVLY]IKSQVO
?PMVaW]X]\\_WKTI[[M[\WOM\PMZTQSM\PQ[aW]¼ZM][QVO KWUXW[Q\QWV1V[\MILWN QVPMZQ\QVO\PMQZJMPI^QWZ\PM L]KS[OM\\PMQZJMPI^QWZJaJMQVOKWUXW[ML_Q\P\PMZQOP\ JMPI^QWZWJRMK\ RZQGXFNFDOOWKDWGRHVQRWLQKHULWIURPWKH'XFNFODVV"
YiX`e
gfn\i
)[aW]¼^M[MMVKZMI\QVO[a[\MU[][QVOKWUXW[Q\QWVOQ^M[aW] ITW\UWZMÆM`QJQTQ\a6W\WVTaLWM[Q\TM\aW]MVKIX[]TI\M INIUQTaWN ITOWZQ\PU[QV\W\PMQZW_V[M\WN KTI[[M[J]\Q\ IT[WTM\[aW]KPIVOMJMPI^QWZI\Z]V\QUMI[TWVOI[
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: [email protected]
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.
&KDSWHU
&RQJUDWXODWLRQVRQ
\RXUILUVWSDWWHUQ
<RXMXVWDSSOLHG\RXU¿UVWGHVLJQSDWWHUQ²WKH
675$7(*<
SDWWHUQ7KDW¶VULJKW\RXXVHGWKH
6WUDWHJ\3DWWHUQWRUHZRUNWKH6LP8'XFNDSS 7KDQNVWRWKLVSDWWHUQWKHVLPXODWRULVUHDG\IRUDQ\ FKDQJHVWKRVHH[HFVPLJKWFRRNXSRQWKHLUQH[W EXVLQHVVWULSWR9HJDV
1RZWKDWZH¶YHPDGH\RXWDNHWKHORQJURDGWRDSSO\LW KHUH¶VWKHIRUPDOGH¿QLWLRQRIWKLVSDWWHUQ
<PM;\ZI\MOa8I\\MZV
LMÅVM[INIUQTaWN ITOWZQ\PU[
MVKIX[]TI\M[MIKPWVMIVLUISM[\PMUQV\MZKPIVOMIJTM
;\ZI\MOaTM\[\PMITOWZQ\PU^IZaQVLMXMVLMV\TaNZWU
KTQMV\[\PI\][MQ\
;XMISQVOWN,M[QOV8I\\MZV[
8VH7+,6GHILQLWLRQZKHQ\RX
QHHGWRLPSUHVVIULHQGVDQG
LQIOXHQFHNH\H[HFXWLYHV
WKHVWUDWHJ\SDWWHUQChapter 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: [email protected]
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.
\RXDUHKHUH *MTW_aW]¼TTÅVLIUM[[WN KTI[[M[IVLQV\MZNIKM[NWZIVIK\QWVIL^MV\]ZMOIUMAW]¼TT
ÅVLKTI[[M[NWZOIUMKPIZIK\MZ[ITWVO_Q\PKTI[[M[NWZ_MIXWVJMPI^QWZ[\PMKPIZIK\MZ[ KIV][MQV\PMOIUM-IKPKPIZIK\MZKIVUISM][MWN WVM_MIXWVI\I\QUMJ]\KIV KPIVOM_MIXWV[I\IVa\QUML]ZQVO\PMOIUMAW]ZRWJQ[\W[WZ\Q\ITTW]\ )V[_MZ[IZMI\\PMMVLWN \PMKPIX\MZ
&KDUDFWHU
:HDSRQ%HKDYLRUZHDSRQ
VHW:HDSRQ:HDSRQ%HKDYLRUZ^ WKLVZHDSRQ Z
`
ILJKW .QLIH%HKDYLRU XVH:HDSRQ^LPSOHPHQWVFXWWLQJ ZLWKDNQLIH`
4XHHQ ILJKW^` .LQJ
ILJKW^` 7UROO
ILJKW^`
%RZ$QG$UURZ%HKDYLRU XVH:HDSRQ^LPSOHPHQWVVKRRW LQJDQDUURZZLWKDERZ`
.QLJKW ILJKW^`
LQWHUIDFH!!
:HDSRQ%HKDYLRU
XVH:HDSRQ
$[H%HKDYLRU XVH:HDSRQ^LPSOHPHQWVFKRS SLQJZLWKDQD[H` 6ZRUG%HKDYLRU XVH:HDSRQ^LPSOHPHQWVVZLQJ LQJDVZRUG`
)ZZIVOM\PMKTI[[M[
1LMV\QNaWVMIJ[\ZIK\KTI[[WVMQV\MZNIKMIVLMQOP\KTI[[M[ ,ZI_IZZW_[JM\_MMVKTI[[M[
I,ZI_\PQ[SQVLWN IZZW_NWZQVPMZQ\IVKM¹M`\MVL[º J,ZI_\PQ[SQVLWN IZZW_NWZQV\MZNIKM¹QUXTMUMV\[º
K,ZI_\PQ[SQVLWN IZZW_NWZ¹0);)º
8]\\PMUM\PWL[M\?MIXWVQV\W\PMZQOP\KTI[[
AW]Z\I[S"
'HVLJQ3X]]OH
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: [email protected]
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.
&KDSWHU
7^MZPMIZLI\\PMTWKITLQVMZ
,QHHGD&UHDPFKHHVH ZLWKMHOO\RQZKLWHEUHDGD FKRFRODWHVRGDZLWKYDQLOODLFHFUHDPD JULOOHGFKHHVHVDQGZLFKZLWKEDFRQDWXQD ÀVKVDODGRQWRDVWDEDQDQDVSOLWZLWK LFHFUHDP VOLFHGEDQDQDVDQGDFRIIHH
ZLWKDFUHDPDQGWZRVXJDUVRK DQGSXWDKDPEXUJHURQWKHJULOO
*LYHPHD&-:KLWHDEODFN ZKLWHD -DFN%HQQ\DUDGLRDKRXVH
ERDWDFRIIHHUHJXODUDQG EXUQRQH
?PI\¼[\PMLQNNMZMVKMJM\_MMV\PM[M\_WWZLMZ['6W\I\PQVO <PMa¼ZMJW\P
\PM[IUMWZLMZM`KMX\)TQKMQ[][QVO\_QKM\PMV]UJMZWN _WZL[IVL\ZaQVO\PM
XI\QMVKMWN IOZ]UXa[PWZ\WZLMZKWWS
?PI\¼[.TWOW\\PI\)TQKMLWM[V¼\'
)[PIZML^WKIJ]TIZa
_Q\P\PM[PWZ\WZLMZ
KWWS6W\WVTaQ[Q\MI[QMZ\WKWUU]VQKI\M_Q\P\PMKWWSJ]\Q\OQ^M[\PMKWWSTM[[
\WZMUMUJMZJMKI][MPM¼[OW\ITT\PMLQVMZXI\\MZV[QVPQ[PMIL
,M[QOV8I\\MZV[OQ^MaW]I[PIZML^WKIJ]TIZa_Q\PW\PMZLM^MTWXMZ[7VKMaW]¼^M
OW\\PM^WKIJ]TIZaaW]KIVUWZMMI[QTaKWUU]VQKI\M_Q\PW\PMZLM^MTWXMZ[IVL
QV[XQZM\PW[M_PWLWV¼\SVW_XI\\MZV[\W[\IZ\TMIZVQVO\PMU1\IT[WMTM^I\M[aW]Z
\PQVSQVOIJW]\IZKPQ\MK\]ZM[JaTM\\QVOaW]
\PQVSI\\PM
XI\\MZV
TM^MT
VW\\PM
VQ\\aOZQ\\aWJRMK\TM^MT
)OR
$OLFH
GLQHUWDON
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: [email protected]
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.
\RXDUHKHUH
7^MZPMIZLQV\PMVM`\K]JQKTM
5LFN
5LFNZK\ GLGQ·W\RXMXVWVD\ \RXZHUHXVLQJWKH 2EVHUYHU3DWWHUQ"
([DFWO\,I\RX FRPPXQLFDWHLQSDWWHUQV WKHQRWKHUGHYHORSHUVNQRZ
LPPHGLDWHO\DQGSUHFLVHO\WKH GHVLJQ\RX·UHGHVFULELQJ-XVWGRQ·W JHW3DWWHUQ)HYHU\RX·OONQRZ
\RXKDYHLWZKHQ\RXVWDUWXVLQJ SDWWHUQVIRU+HOOR
:RUOG 6R,FUHDWHGWKLVEURDGFDVW
FODVV,WNHHSVWUDFNRIDOO
WKHREMHFWVOLVWHQLQJWRLWDQGDQ\WLPH DQHZSLHFHRIGDWDFRPHVDORQJLWVHQGVD PHVVDJHWRHDFKOLVWHQHU:KDW·VFRROLVWKDW WKHOLVWHQHUVFDQMRLQWKHEURDGFDVWDWDQ\
WLPHRUWKH\FDQHYHQUHPRYHWKHPVHOYHV
,WLVUHDOO\G\QDPLFDQGORRVHO\FRXSOHG
YiX`e
gfn\i
&DQ\RXWKLQNRIRWKHUVKDUHGYRFDEXODULHV WKDWDUHXVHGEH\RQG22GHVLJQDQGGLQHU WDON"+LQWKRZDERXWDXWRPHFKDQLFV FDUSHQWHUVJRXUPHWFKHIVDLUWUDI¿FFRQWURO :KDWTXDOLWLHVDUHFRPPXQLFDWHGDORQJZLWK WKHOLQJR"
&DQ\RXWKLQNRIDVSHFWVRI22GHVLJQ WKDWJHWFRPPXQLFDWHGDORQJZLWKSDWWHUQ QDPHV":KDWTXDOLWLHVJHWFRPPXQLFDWHG DORQJZLWKWKHQDPH³6WUDWHJ\3DWWHUQ´"
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: [email protected]
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.
&KDSWHU
;PIZMLXI\\MZV^WKIJ]TIZQM[IZM87?-:.=4 ?PMVaW]KWUU]VQKI\M_Q\PIVW\PMZLM^MTWXMZWZaW]Z \MIU][QVOXI\\MZV[aW]IZMKWUU]VQKI\QVOVW\R][\I XI\\MZVVIUMJ]\I_PWTM[M\WN Y]ITQ\QM[KPIZIK\MZQ[\QK[ IVLKWV[\ZIQV\[\PI\\PMXI\\MZVZMXZM[MV\[
8I\\MZV[ITTW_aW]\W[IaUWZM_Q\PTM[[?PMV aW]][MIXI\\MZVQVILM[KZQX\QWVW\PMZLM^MTWXMZ[Y]QKSTa SVW_XZMKQ[MTa\PMLM[QOVaW]PI^MQVUQVL
<ITSQVOI\\PMXI\\MZVTM^MTITTW_[aW]\W[\Ia¹QV \PMLM[QOVºTWVOMZ<ITSQVOIJW]\[WN\_IZM[a[\MU[][QVO XI\\MZV[ITTW_[aW]\WSMMX\PMLQ[K][[QWVI\\PMLM[QOV TM^MT_Q\PW]\PI^QVO\WLQ^MLW_V\W\PMVQ\\aOZQ\\aLM\IQT[ WN QUXTMUMV\QVOWJRMK\[IVLKTI[[M[
;PIZML^WKIJ]TIZQM[KIV\]ZJWKPIZOMaW]Z LM^MTWXUMV\\MIU)\MIU_MTT^MZ[MLQVLM[QOV XI\\MZV[KIVUW^MUWZMY]QKSTa_Q\PTM[[ZWWUNWZ UQ[]VLMZ[\IVLQVO
;PIZML^WKIJ]TIZQM[MVKW]ZIOMUWZMR]VQWZ LM^MTWXMZ[\WOM\]X\W[XMML2]VQWZLM^MTWXMZ[TWWS ]X\WM`XMZQMVKMLLM^MTWXMZ[?PMV[MVQWZLM^MTWXMZ[ UISM][MWN LM[QOVXI\\MZV[R]VQWZLM^MTWXMZ[IT[WJMKWUM UW\Q^I\ML\WTMIZV\PMU*]QTLIKWUU]VQ\aWN XI\\MZV ][MZ[I\aW]ZWZOIVQbI\QWV
<PMXW_MZWNI[PIZMLXI\\MZV^WKIJ]TIZa
:KHQ\RXFRPPXQLFDWHXVLQJSDWWHUQV\RX
DUHGRLQJPRUHWKDQMXVWVKDULQJ/,1*2
´:H·UHXVLQJWKHVWUDWHJ\SDWWHUQWRLPSOH
PHQWWKHYDULRXVEHKDYLRUVRIRXUGXFNVµ
7KLVWHOOV\RXWKHGXFNEHKDYLRUKDVEHHQ
HQFDSVXODWHGLQWRLWVRZQVHWRIFODVVHV
WKDWFDQEHHDVLO\H[SDQGHGDQGFKDQJHG
HYHQDWUXQWLPHLIQHHGHG
+RZPDQ\GHVLJQPHHWLQJVKDYH\RX
EHHQLQWKDWTXLFNO\GHJUDGHLQWR
LPSOHPHQWDWLRQGHWDLOV"
7KLQNDERXWVWDUWLQJDSDWWHUQVVWXG\
JURXSDW\RXURUJDQL]DWLRQPD\EH\RX
FDQHYHQJHWSDLGZKLOH\RX·UHOHDUQ
LQJ
$V\RXUWHDPEHJLQVWRVKDUHGHVLJQ
LGHDVDQGH[SHULHQFHLQWHUPVRI
SDWWHUQV\RXZLOOEXLOGDFRPPXQLW\
RISDWWHUQVXVHUV
VKDUHGYRFDEXODU\
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: [email protected]
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.
\RXDUHKHUH
?M¼^MITT][MLWNN\PM[PMTN TQJZIZQM[IVLNZIUM_WZS[?M\ISM\PMU_ZQ\M[WUMKWLMIOIQV[\\PMQZ)81[ KWUXQTM\PMUQV\WW]ZXZWOZIU[IVLJMVMÅ\NZWUITW\WN KWLM[WUMWVMMT[MPI[_ZQ\\MV<PQVSIJW]\ \PM2I^I)81[IVLITT\PMN]VK\QWVITQ\a\PMaOQ^MaW]"VM\_WZS/=117M\K4QJZIZQM[IVLNZIUM_WZS[OW ITWVO_Ia\W_IZL[ILM^MTWXUMV\UWLMT_PMZM_MKIVR][\XQKSIVLKPWW[MKWUXWVMV\[IVLXT]O\PMU ZQOP\QV*]\\PMaLWV¼\PMTX][[\Z]K\]ZMW]ZW_VIXXTQKI\QWV[QV_Ia[\PI\IZMMI[QMZ\W]VLMZ[\IVLUWZM UIQV\IQVIJTMIVLÆM`QJTM<PI\¼[_PMZM,M[QOV8I\\MZV[KWUMQV
,M[QOVXI\\MZV[LWV¼\OWLQZMK\TaQV\WaW]ZKWLM\PMaÅZ[\OWQV\WaW]Z*:)167VKMaW]¼^MTWILMLaW]Z JZIQV_Q\PIOWWL_WZSQVOSVW_TMLOMWN XI\\MZV[aW]KIV\PMV[\IZ\\WIXXTa\PMU\WaW]ZVM_LM[QOV[ IVLZM_WZSaW]ZWTLKWLM_PMVaW]ÅVLQ\¼[LMOZILQVOQV\WIVQVÆM`QJTMUM[[WN R]VOTM[XIOPM\\QKWLM
0W_LW1][M,M[QOV8I\\MZV['
WKHUH DUH QR
'XPE 4XHVWLRQV
Q:
,IGHVLJQSDWWHUQVDUHVRJUHDW ZK\FDQ·WVRPHRQHEXLOGDOLEUDU\RI WKHPVR,GRQ·WKDYHWR"A:
'HVLJQSDWWHUQVDUHKLJKHUOHYHO WKDQOLEUDULHV'HVLJQSDWWHUQVWHOOXV KRZWRVWUXFWXUHFODVVHVDQGREMHFWVWR VROYHFHUWDLQSUREOHPVDQGLWLVRXUMREWR DGDSWWKRVHGHVLJQVWRILWRXUSDUWLFXODU DSSOLFDWLRQQ:
$UHQ·WOLEUDULHVDQGIUDPHZRUNV DOVRGHVLJQSDWWHUQV"A:
)UDPHZRUNVDQGOLEUDULHVDUHQRW GHVLJQSDWWHUQVWKH\SURYLGHVSHFLILFQ:
6RWKHUHDUHQROLEUDULHVRI GHVLJQSDWWHUQV"A:
1REXW\RXZLOOOHDUQODWHUDERXW SDWWHUQFDWDORJVZLWKOLVWVRISDWWHUQVWKDW)O\:LWK:LQJV IO\^ GRQRWKLQJFDQ·WIO\
4XDFN TXDFN^ UXEEHUGXFNLHVTXHDN
`
6TXHDN TXDFN^ GRQRWKLQJFDQ·WTXDFN
0DOODUG'XFN GLVSOD\^ ORRNVOLNHDUHGKHDG`
5HGKHDG'XFN GLVSOD\^ ORRNVOLNHDUXEEHUGXFN` &RQWUROOHU
0RGHO 5HTXHVW
09& 6XEMHFW2EMHFW
LQW 'RJ2EMHF W
0RXVH2EMHFW
&DW2EMHFW 'XFN2EMHFW
2EVHUYHUV
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: [email protected]
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.
&KDSWHU
3DWWHUQVDUH QRWKLQJPRUHWKDQXVLQJ
22GHVLJQSULQFLSOHV
;SMX\QKIT,M^MTWXMZ
8I\\MZV[/]Z]
.ZQMVLTa
'HYHORSHU2ND\KPPEXWLVQ·WWKLVDOOMXVWJRRGREMHFWRULHQWHGGHVLJQ,PHDQ DVORQJDV,IROORZHQFDSVXODWLRQDQG,NQRZDERXWDEVWUDFWLRQLQKHULWDQFHDQG SRO\PRUSKLVPGR,UHDOO\QHHGWRWKLQNDERXW'HVLJQ3DWWHUQV",VQ·WLWSUHWW\ VWUDLJKWIRUZDUG",VQ·WWKLVZK\,WRRNDOOWKRVH22FRXUVHV",WKLQN'HVLJQ 3DWWHUQVDUHXVHIXOIRUSHRSOHZKRGRQ·WNQRZJRRG22GHVLJQ
*XUX$KWKLVLVRQHRIWKHWUXHPLVXQGHUVWDQGLQJVRIREMHFWRULHQWHG
GHYHORSPHQWWKDWE\NQRZLQJWKH22EDVLFVZHDUHDXWRPDWLFDOO\JRLQJWREHJRRGDW EXLOGLQJÁH[LEOHUHXVDEOHDQGPDLQWDLQDEOHV\VWHPV
'HYHORSHU1R"
*XUX1R$VLWWXUQVRXWFRQVWUXFWLQJ22V\VWHPVWKDWKDYHWKHVHSURSHUWLHVLV QRWDOZD\VREYLRXVDQGKDVEHHQGLVFRYHUHGRQO\WKURXJKKDUGZRUN
'HYHORSHU,WKLQN,·PVWDUWLQJWRJHWLW7KHVHVRPHWLPHVQRQREYLRXVZD\VRI FRQVWUXFWLQJREMHFWRULHQWHGV\VWHPVKDYHEHHQFROOHFWHG
*XUX\HVLQWRDVHWRISDWWHUQVFDOOHG'HVLJQ3DWWHUQV
'HYHORSHU6RE\NQRZLQJSDWWHUQV,FDQVNLSWKHKDUGZRUNDQGMXPSVWUDLJKWWR GHVLJQVWKDWDOZD\VZRUN"
*XUX<HVWRDQH[WHQWEXWUHPHPEHUGHVLJQLVDQDUW7KHUHZLOODOZD\VEH WUDGHRIIV%XWLI\RXIROORZZHOOWKRXJKWRXWDQGWLPHWHVWHGGHVLJQSDWWHUQV\RX·OO EHZD\DKHDG
'HYHORSHU:KDWGR,GRLI,FDQ·WÀQGDSDWWHUQ"
$FRPPRQPLVFRQFHSWLRQ *UDVVKRSSHUEXWLW·VPRUH VXEWOHWKDQWKDW<RXKDYH
PXFKWROHDUQ
ZK\GHVLJQSDWWHUQV"
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: [email protected]
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.
\RXDUHKHUH
5HPHPEHUNQRZLQJ
FRQFHSWVOLNHDEVWUDFWLRQ
LQKHULWDQFHDQGSRO\PRUSKLVPGR
QRWPDNH\RXDJRRGREMHFWRULHQWHG
GHVLJQHU$GHVLJQJXUXWKLQNVDERXW
KRZWRFUHDWHÁH[LEOHGHVLJQVWKDW
DUHPDLQWDLQDEOHDQGWKDWFDQ
FRSHZLWKFKDQJH
*XUX7KHUHDUHVRPHREMHFWRULHQWHGSULQFLSOHVWKDW XQGHUOLHWKHSDWWHUQVDQGNQRZLQJWKHVHZLOOKHOS\RX WRFRSHZKHQ\RXFDQ·WÀQGDSDWWHUQWKDWPDWFKHV\RXU SUREOHP
'HYHORSHU3ULQFLSOHV"<RXPHDQEH\RQGDEVWUDFWLRQ HQFDSVXODWLRQDQG
*XUX<HVRQHRIWKHVHFUHWVWRFUHDWLQJPDLQWDLQDEOH 22V\VWHPVLVWKLQNLQJDERXWKRZWKH\PLJKWFKDQJHLQWKH IXWXUHDQGWKHVHSULQFLSOHVDGGUHVVWKRVHLVVXHV
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: [email protected]
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.
&KDSWHU
<WWT[NWZaW]Z,M[QOV<WWTJW`
:MDD=LHGAFLK
.QRZLQJWKH22EDVLFV GRHVQRWPDNH\RXDJRRG 22GHVLJQHU
*RRG22GHVLJQVDUH UHXVDEOHH[WHQVLEOHDQG PDLQWDLQDEOH
3DWWHUQVVKRZ\RXKRZWR EXLOGV\VWHPVZLWKJRRG 22GHVLJQTXDOLWLHV
3DWWHUQVDUHSURYHQREMHFW RULHQWHGH[SHULHQFH
3DWWHUQVGRQ·WJLYH\RX FRGHWKH\JLYH\RX JHQHUDOVROXWLRQVWRGHVLJQ SUREOHPV<RXDSSO\WKHP WR\RXUVSHFLILFDSSOLFDWLRQ
3DWWHUQVDUHQ·WLQYHQWHG WKH\DUHGLVFRYHUHG
0RVWSDWWHUQVDQG SULQFLSOHVDGGUHVVLVVXHVRI FKDQJHLQVRIWZDUH
0RVWSDWWHUQVDOORZVRPH SDUWRIDV\VWHPWRYDU\ LQGHSHQGHQWO\RIDOORWKHU SDUWV
:HRIWHQWU\WRWDNHZKDW YDULHVLQDV\VWHPDQG HQFDSVXODWHLW
3DWWHUQVSURYLGHD VKDUHGODQJXDJHWKDWFDQ6WUDWHJ\
GHILQHVDIDPLO\RIDOJRULWKPV
HQFDSVXODWHVHDFKRQHDQGPDNHVWKHP
\RXUGHVLJQWRROER[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: [email protected]
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.
\RXDUHKHUH
4M\¼[OQ^MaW]ZZQOP\JZIQV[WUM\PQVO\WLW
1\¼[aW]Z[\IVLIZLKZW[[_WZL#ITTWN\PM[WT]\QWV_WZL[ IZMNZWU\PQ[KPIX\MZ
2$/ 1-%!. !.%#) +//!-). 1 !/2*-&%)# *0) 0!- 0&. (&!
-/!) !- /$*0#$/ /$!4 2!-! ''! -*#-( /* /$%. )*/ ) %(+'!(!)//%*) //!-). #* %)/* 4*0- !-) "-*( /$! */$!- #045. !1!'*+(!)/ *)./)/ //!-). #%1! 0. .$-!
//!-). %) ()4 ++'%/%*). 1*- *1!- %)$!-%/)!
) 2. /$-%''! 2%/$ /$%. +//!-) *./ +//!-). "*''*2 "-*( */ 4*0- *2)
%#$ '!1!' '%--%!. *!5. "1*-%/! -%)&
//!-) /$/ "%3! /$! 0& /$/ )5/ ,0& -%''! $!!.! 2%/$ *) 0& !(* 2. '*/! 2$!-!
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: [email protected]
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.
&KDSWHU
LQWHUIDFH!!
:HDSRQ%HKDYLRU
+PIZIK\MZQ[\PMIJ[\ZIK\KTI[[NWZITT\PMW\PMZKPIZIK\MZ[3QVO9]MMV 3VQOP\IVL<ZWTT_PQTM?MIXWVQ[IVQV\MZNIKM\PI\ITT_MIXWV[ QUXTMUMV\;WITTIK\]ITKPIZIK\MZ[IVL_MIXWV[IZMKWVKZM\MKTI[[M[ <W[_Q\KP_MIXWV[MIKPKPIZIK\MZKITT[\PM[M\?MIXWVUM\PWL_PQKP Q[LMÅVMLQV\PM+PIZIK\MZ[]XMZKTI[[,]ZQVOIÅOP\\PM][M?MIXWV UM\PWLQ[KITTMLWV\PMK]ZZMV\_MIXWV[M\NWZIOQ^MVKPIZIK\MZ\WQVÆQK\ OZMI\JWLQTaLIUIOMWVIVW\PMZKPIZIK\MZ
&KDUDFWHU
:HDSRQ%HKDYLRUZHDSRQ ILJKW
VHW:HDSRQ:HDSRQ%HKDYLRUZ^ WKLVZHDSRQ Z `
.LQJ ILJKW^`
4XHHQ ILJKW^`
.QLJKW ILJKW^`
7UROO ILJKW^`
XVH:HDSRQ
%RZ$QG$UURZ%HKDYLRU XVH:HDSRQ^LPSOHPHQWVVKRRW LQJDQDUURZZLWKDERZ`
$[H%HKDYLRU XVH:HDSRQ^LPSOHPHQWVFKRS SLQJZLWKDQD[H` 6ZRUG%HKDYLRU
XVH:HDSRQ^LPSOHPHQWVVZLQJ LQJDVZRUG`
.QLIH%HKDYLRU XVH:HDSRQ^LPSOHPHQWVFXWWLQJ ZLWKDNQLIH`
'HVLJQ3X]]OH6ROXWLRQ
1RWHWKDW$1<REMHFWFRXOGLPSOHPHQW
WKH:HDSRQ%HKDYLRULQWHUIDFH6D\D
SDSHUFOLSDWXEHRIWRRWKSDVWHRUD
PXWDWHGVHDEDVV
DEVWUDFW
$&KDUDFWHU+$6$
:HDSRQ%HKDYLRU
GHVLJQSX]]OHVROXWLRQ
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: [email protected]
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.
\RXDUHKHUH
! # "
# !
! #
!
! " " !
$ #
" "
"
& % !
# ! &
! # ! ! !
$
# &
6KDUSHQ \RXU SHQFLO
R) +WLMQ[L]XTQKI\MLIKZW[[[]JKTI[[M[
R* :]V\QUMJMPI^QWZKPIVOM[IZMLQNÅK]T\
R+ ?MKIV¼\UISML]KS¼[LIVKM
R+ 0IZL\WOIQVSVW_TMLOMWN ITTL]KSJMPI^QWZ[
R, ,]KS[KIV¼\ÆaIVLY]IKSI\\PM[IUM\QUM
R- +PIVOM[KIV]VQV\MV\QWVITTaINNMK\W\PMZL]KS[ ?PQKPWN \PMNWTTW_QVOIZMLQ[IL^IV\IOM[WN ][QVO[]JKTI[[QVO\WXZW^QLM[XMKQÅK ,]KSJMPI^QWZ'+PWW[MITT\PI\IXXTa
6ROXWLRQV
6KDUSHQ \RXU SHQFLO
?PI\IZM[WUMNIK\WZ[\PI\LZQ^MKPIVOMQVaW]ZIXXTQKI\QWV['AW]UQOP\ PI^MI^MZaLQNNMZMV\TQ[\J]\PMZM¼[INM_WN W]Z[4WWSNIUQTQIZ'0\FXVWRPHUVRUXVHUVGHFLGHWKH\ZDQWVRPHWKLQJHOVHRUWKH\ZDQWQHZIXQFWLRQDOLW\
0\FRPSDQ\GHFLGHGLWLVJRLQJZLWKDQRWKHUGDWDEDVHYHQGRUDQGLWLVDOVRSXUFKDVLQJLWVGDWD
IURPDQRWKHUVXSSOLHUWKDWXVHVDGLIIHUHQWGDWDIRUPDW$UJK
:HOOWHFKQRORJ\FKDQJHVDQGZH·YHJRWWRXSGDWHRXUFRGHWRPDNHXVHRISURWRFROV
:H·YHOHDUQHGHQRXJKEXLOGLQJRXUV\VWHPWKDWZH·GOLNHWRJREDFNDQGGRWKLQJVDOLWWOHEHWWHU
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: [email protected]
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.