• Tidak ada hasil yang ditemukan

252 Head First Design Patterns

N/A
N/A
Protected

Academic year: 2019

Membagikan "252 Head First Design Patterns"

Copied!
619
0
0

Teks penuh

(1)
(2)

Section 1.2. But now we need the ducks to FLY... 3

Section 1.3. But something went horribly wrong... 4

Section 1.4. Joe thinks about inheritance... 5

Section 1.5. Sharpen your pencil... 5

Section 1.6. How about an interface?... 6

Section 1.7. What would you do if you were Joe?... 7

Section 1.8. The one constant in software development... 8

Section 1.9. Sharpen your pencil... 8

Section 1.10. Zeroing in on the problem... 9

Section 1.11. Separating what changes from what stays the same... 10

Section 1.12. Designing the Duck Behaviors... 11

Section 1.13. Implementing the Duck Behaviors... 13

Section 1.14. There are no Dumb Questions... 14

Section 1.15. Sharpen your pencil... 14

Section 1.16. Integrating the Duck Behavior... 15

Section 1.17. More Integration... 16

Section 1.18. Testing the Duck code... 18

Section 1.19. Setting behavior dynamically... 20

Section 1.20. The Big Picture on encapsulated behaviors... 22

Section 1.21. HAS-A can be better than IS-A... 23

Section 1.22. Speaking of Design Patterns... 24

Section 1.23. Design Puzzle... 25

Section 1.24. Overheard at the local diner... 26

Section 1.25. Overheard in the next cubicle... 27

Section 1.26. The power of a shared pattern vocabulary... 28

Section 1.27. How do I use Design Patterns?... 29

Section 1.28. There are no Dumb Questions... 29

Section 1.29. Skeptical Developer-Friendly Patterns Guru... 30

Section 1.30. Tools for your Design Toolbox... 32

Section 1.31. Design Puzzle Solution... 34

Section 1.32. Solutions... 35

Chapter 1. Welcome to Design Patterns

Head First Design Patterns By Eric Freeman, Elisabeth Freeman, Bert Bates, Kathy Sierra 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.

(3)

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.

(4)

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

(5)

\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

'XFN

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

(6)

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

(7)

\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\W

XZW^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.

(8)

&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"

LQKHULWDQFHLVQRWWKHDQVZHU

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.

(9)

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

(10)

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

(11)

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

(12)

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

(13)

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

(14)

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

(15)

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

(16)

&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\FOH

Q:

6KRXOGZHPDNH'XFNDQLQWHUIDFHWRR"

A:

1RWLQWKLVFDVH$V\RX·OOVHHRQFHZH·YHJRWHYHU\WKLQJ KRRNHGWRJHWKHUZHGREHQHILWE\KDYLQJ'XFNEHDFRQFUHWH FODVVDQGKDYLQJVSHFLILFGXFNVOLNH0DOODUG'XFNLQKHULWFRPPRQ SURSHUWLHVDQGPHWKRGV1RZWKDWZH·YHUHPRYHGZKDWYDULHVIURP WKH'XFNLQKHULWDQFHZHJHWWKHEHQHILWVRIWKLVVWUXFWXUHZLWKRXW WKHSUREOHPV

Q:

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

(17)

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

(18)

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

(19)

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

(20)

&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

WHVWLQJGXFNEHKDYLRUV

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.

(21)

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

(22)

&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'XFNMDYD

0DNHDQHZ)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.

(23)

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

(24)

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

(25)

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

(26)

&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\SDWWHUQ

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.

(27)

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

(28)

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

(29)

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

(30)

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

(31)

\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 DSSOLFDWLRQ

Q:

$UHQ·WOLEUDULHVDQGIUDPHZRUNV DOVRGHVLJQSDWWHUQV"

A:

)UDPHZRUNVDQGOLEUDULHVDUHQRW GHVLJQSDWWHUQVWKH\SURYLGHVSHFLILF

Q:

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.

(32)

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

(33)

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

(34)

&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 VKDUHGODQJXDJHWKDWFDQ

6WUDWHJ\

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.

(35)

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

(36)

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

(37)

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

Referensi

Dokumen terkait

Tujuan pembuatan tugas akhir ini adalah untuk membuat program yang berisi proses pemampatan citra yang terdiri dari DCT, kuantisasi, dan penyandian entropi,

◼ Psikolog olahraga lebih terlibat dengan orang tua atlet junior dan organisasi olahraga masyarak dengan. menasihati dan mengembangkan program-program

a. Peraturan Daerah Kota Medan Nomor 7 Tahun 2002 tentang retribusi pelayanan parkir ditepi jalan umum, tempat khusus parkir dan perizinan pelataran parkir. Peraturan Walikota

Setelаh diukur menggunаkаn Return on Investment (ROI) dаn Residuаl Income (RI) menunjukkаn bаhwа keduа аnаlisа tersebut memiliki kelebihаn dаn kekurаngаn

lebih kompeten dibandingkan dengan seorang investor lain, yang akan menyebabkan. frekuensi perdagangan dalam melakukan trading saham menjadi lebih

Rought Cut Capacity Planning merupakan “analisis untuk menguji ketersediaan kapasitas fasilitas produksi yang tersedia didalam memenuhi jadwal induk produksi (Master

Dengan ini saya bersedia berpartisipasi sebagai responden dalam penelitian yang dilakukan oleh saudari Desy Nurwulan selaku mahasiswa DIV Keperawatan Politeknik Kesehatan

Ibu Stephana Dyah Ayu R.,SE.,MM, sebagai pembimbing skripsi saya yang banyak membantu dalam pemberian bimbingan baik berupa saran – saran maupun masukan – masukan serta dorongan