You are on page 1of 205
AE AMAA LER, RE FGRINALRBAGT+FLESRER, RACKHAM MAUNSREE BASES OMA, TAMA M, Mitt, ShallowayRM, MARR, MIA RK. BRAM, HEL, RAAASIOM, RISA RAREMSH TAMBETR, FPR ad am Pci re Essential Skills for the Agile Developer A Guide to Better Programming and Design GER HEE: SAHA Sit ORE RE (38) Alan Shalloway Scott Bain Ken Pugh Amir Kolsky % Fir AHR BRR aoe SL RGA GTRIOIEA, HARTI DESERVE A RIE: ERAGE), PARA ERO BA SEIT, URW. HERAT, REMIT HMI TABI OUT" Be RA . Ue BBY Dy OT LAE TF AS CA I CHS — Kay Johnson, IBM& #7 2H @ RD CRETE BALE ROT TT PLS, OBER TEAC AT ORE SAT PRI A ME, CH PITS ICE BEE TE Se GH Ta ULAR ET te ——R.LL. Bogetti, www.RLBogetti.com, Baxter Healthcare“ 5] Rit Wi RAI MITRE, “ERROR T FFE AT ERAT OY EDI A AK HEREC FC BA —— Dave Hendricksen, Thomson Reuters§& +2440 SURED 2 RO SER AE FE AE SOREN, {ELE RELA EAE. ARR I) Le A TE. HST TE SACD AIBA SE SCR BT TC POE TE BAR AHEM Net Objectives2t] (Net Objectives ke 4H bE TATA HM ANA I 7] ) AYA TER ER. ABH IRR AT ASAT AE i A EG YT TST ae LR, IE Sof STIPE A PAEAW AMIE A HE HERE SHAR AST 5 ne ET A ER TB IY SET FO TT. AY, RAT TEIN TAN. TSAR AS BE BORLA I. TERI LET RTEN ILA i, TAIN Uae ABDI RAE RE HE RP A ES TAL EEC A SATAY TTA JG Se RR A 7 ‘ir NEE, ak eA ERR, ISBN 978-7-111-39527-0 ‘BIBRA (010) 88378991, 88361066 | 9-H #RH. (010) 68326204, 88379649, 68995259 | $38#A2 (010) 88379604 SET: | SARE na @zbooK com www.pearson.com | 917871111395270 KEtt: 59.0070 Essential Skills for the Agile Developer A Guide to Better Programming and Design GED HEED: BRAT RSH HR (98) Alan Shalloway Scott Bain Ken Pugh Amir Kolsky 2% FO WR BER ARONA (HEMEL ELIE LOA FEE RUN EI, ABET EPPA T ALAM, SC 3 ICR Jolt KS, AAO FER BURT ETE, URES EE» SBP ARM “ARERR” SX —SEMEIR TE, RS — (RK FIER A BT BBE NRT AE FT ORA MBE, RI TARE, BURT — RRL ARES, LAB AA A TH H, RAM RMA SHAUN: RBS (1-7), RT RATER AEP HAE “MUIR TT” ARAL A Fike ( “AMAR” ), ORE RR, Sr RATE. LIFT AM Shalloway DRL, HSE TA ae AL MR, CHMNTHE, GARR MOMS, RAE (8~9 Ae), NEATH AL Reese GL PLALUMT TRA WBE, IRN TRMESER; BABS (10-13 FR), RMIT AS RT AH ARETE AIO, OCHO LAL RTBU), AUREL ARSE AIRS SPOR CLIT RCS PL RU ba H, PRIMA, MAR MM CHRKRSLEAS, AGB ARR, PTR ROAR, RAR EST IIW, A 3k SO el SH AA HE AS AS ‘Authorized trenslation from the English language edition, entitled Essential Skills for the Agile Developer: A Guide 10 Beuer Programming and Design, 9780321543738 by Alen Shalloway, Scott Bain, Ken Pugh, Amir Kolsky, published by Pearson Education, Inc., publishing as Addison-Wesley, Copyright© 2012. Al rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, elec- tonic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from Pearson Education, Inc. CHINESE SIMPLIFIED language edition published by PEARSON EDUCATION ASIA LTD., and CHINA MA- CHINE PRESS Copyright © 2012, ATP KM AFA KH Pearson Education $24 80 (8 WOR ARE DUR L Me ti ALA EH NA RABAT, ABLE ARAN RBA BAB. ACAGATHIAT Pearson Education (388 FE) BOER, TARE RA. RIE AR AI ALARA, BALE TE BRAM LCRA AF ABMALEICS: HF, 01-2011-7732 BBEMMA (CIP) SE AREESLMRIEI: RUSTE RR SARTRE /( IE) HEME (Shalloway, A.) “GAs #82, MBAR, HEL PE. IER: PLAT MEAL, 2012. 8 YAIR: Essential kil forthe Agile Developer; A Guide to Better Programming and Design ISBN 978-7-111-39527-0 1. te Dib QB DB OI ML AAI WV. TPB. 52 PEL CAC IRI 3H CLP BaREER (2012) HH 194447 SUN LALH ARAL Cie TTRE KA 22 & EBLERES 100037) TEM: AINE AC SRT SE A 6M 2s ET 2012 489 5 1 AER 1 CAN 186mm 240mm + 12.75 FF ‘oie, ISBN 978-7-111-39527-0 SEM: 59.00 76, FUGA, AUATHRTL ATL. BEELER TARR MMP: (010) 88378991; 88361066 WyBALAR: (010) 68326294; 88379649, 68995259 BURGAS. (010) 88379604 RAAT: hxjsj@ hebook. com He FOF SAL ARAM, VASSAR, RARE LAT 10 AVAL, AMBRE, FRA RE RPE, ERT Rk. Aa AEP HAS E AMRIT, MRL, BME CEI Ta A RS ER TE Fi, ATES AA ERE RA ASE), ARABS COSA, RL A BMRA te? AASB RR, BUT", PRA RR, BREAST, BB CEORERE, DAME, FRACHRBIRARE, WIP RRR SE CBR, PHRF AR LARUE FR, RAR, SRL BOE APSEU RT REAR A TCP, DA TTIR AE RC ATARI ABM LL PERE P AA RIDE T AT BATT RN, HAR RAT 4 haa PATRAS “NACA: BASE, MSO WR AET, WAR Shalloway Jil. FDS — FERED AG LB AN TER AT EHR HT I, FE GN AE a RA 7 ARSE BARGE LR, “ARMOR, RATHER.” TRA, SUR REEE FY RRSP UATE RSC REGARELA ST HRER BEER AT ISB, AAT LA PA RR. TRIM ARTA, SUF AERA. AREAS A AE ae EE A, 4 IP aE HROEM, BHKR—L PRA TB ATTA RA i a 2, CABLED, A “MER” MARAT A RE, TOIT Hoty A F KRAMER E E A Y C 0 RPBAMO AAMT RARE — OZ ABDETLAREI AY, RA ATDD A Cl aeSEA Heth A PAVIA WLEAT, AORTA RHARL—MI RAAT A MMSE BETS. TERE “FAM RA BE” WB, FEM AREA — TAN (B10 4K 3 ANB) A AEUS I tt HF BORE WRAL ANT A AE ARE TH (TAT HER IK, LRT AAI, ODES, HEN MRE RAE. ME, RWS REM MBL TE, EAE, ABET, BAA BAAEALK. ESKAFRPANMEMZRA TED, EMANATE RRA Wiki ARS RE AIS, RAM, IT SY PRIA”. RC BT BC, DAVE AT, TPE AAR TR AVIRA BS, RMR) TE, ROT AR AERA TAS ENTOR, UAR A, e f a REE AAR. BSR, FRAO RELE. STAR ALBA, ATTIRE BR AC AS] 2 a ARDAY “UE GE”, SCAT Aa SEIE 2 ALE Be OARS HA AL AA, AER UERBWR- KS, PREC —h, TRA RE SILT TR. HS RRA, ARERR EM, ROARK ER, RR BTR A SORA RT EROS TH. RA, RO UE ERR, RIL, RTA. HEP ER Ce a TR, TREMP ART” COP ATR] ASA, HER CEM RAP AER RAPES AUS? Yee ROMA OR ME TAI? fe A FSSEMLICIS ORBISON? REE PERE IE FATES? ER, ASRS A ATA SEA, ES ARB A EA SHE. PATNA, AAMDUAWRHAAE, RGM A, PER, SURAT ie FESS TE EH AE PIR. EA EO, EE HORE. ec UPA OTE, FETS, SRR EA, KU RR a AL BMA. YR, PRO AE, AMEE REE, BARK. JBBTE, RAN — MTT AAR RRE, UATE “ARRRMCMEO”. ART, “KOR RAB LZR”, RAR SI TER a 78 A — Bh — Sy 6, BELA a BE ek JT a Ao WEX—-UHG, RAM TRAMME MS, WOH — ARH HR, BTR BUF UHR MUSRHE, SATTISE PP EEA TCS, SEER EE SE DER BIE, AR RMI SE BTR BE —ALARIY ABCA, SOT AN ACAR | EE E h S , VA sie, 1 HB AS LO HE I i HB BA ADA HLA SR “OMAK, WPA”, Be ARREARS EE RELL Hee. MEDSMOTHARATIRES, EBA RTA ABBA AAG HRC, BULA SRE a, SB a A RR BRE sah A Agile China 2012 Sd 4F 1 8 Scrum Gathering Shanghai 2011 & 2012 Hews tun eH Hida: —MEMBRA, SREDS—ARB. SHB: BFS A, RAR AETH, REMAN: RARERTA, RATRABNAH. MEK, RASAME EHS TARAS, DARA MES, TUR AE. BRR, RINSTAET HED TAR, FBT, BARA PRORRMRAT RI, WAAORARMREAW EA, GRAIL T RRR. PRARARKEMAMN A. RNAXKPRE LA ARE EAB O RTA, APART SOAR FRAEIZ, EMR RR NGA SAMAR, REE ABHOR, SERRA BOAR, RIERA MES. REA BRAMAME, “WA LAPER AMR: RB, MAG eK HE, FE DAT (AED EIT RIK, BTA A BR Ae a A EE BAIA TPR) — 2 BE EAA TE TE BAAS” AAD LAMB aE RE HE, PEAT TEAL TT — a, WATT AEM LA. AMES, PAG —T Em — “eetistaee” . RSI Pee CREP HARASS, WARE T ASML, MUR PRIEST ABR LIT HE ARBOR, RAGE AMBLER I, LR MET 2 — MRA T HHT (AE, ABZ HhoediT fe He ae Hi 49 | — ACI RASTA BS. BOMEMIAT “batt” IC, ROR TAS hore ARNSTAL PHRASE TRAIL RS EOE, X-RIPATS HMR: BA SPILSAR SRS ATE BRETT HSER TA os aL ERR, CLA AAT SAE, EH AOL a BASHREHRE- THE, MRL Net Objective HRAFRRWAG, BBE RAR A TR. RELA RTT, ULE TRB EP, Re LB a RIRARHROA RRA RE. RAZA RAIDERS, Wb BR TTA AST ED ARRAS REE, MAAS AEE, RAT AT LR EAT EBS, HD MI FRMAMR. ARAFOREAAME ORM, PARTMENT ELMO, AAA AY TPM MT AAI, FEL Shalloway— 2. TTR BNE, HAAR, HAA FRAT ET ALS LER ALAS Bl AGAR IE LB 9 EA SF EMTALA T AREA GS wt aa HEA TD ALAA I PES TRE, AT DL AB BAB ERFRN PERERA AUR. RRMA EMT, ARLE ENE SR2—, ALAR, PARBR SAR. ERDBEMA PT, PACE ENREAM, DET RS AA Eh ERA ER FSB, MAAR Ba, DAA RENEE TE ARCA. (CS eA FERPA AY. SORBAM ELST ER TB Ae Mae a — He UL, BA RRA A A ALUN, RY REE ADT EH SAT AD BYR ATT ES BE a, RS A Sd a BN ABA — BER, BOVE LFA UM ERR TET A ABT A , ALE HR PT BE HSE RAE HOE ES. OGTR AH UN RT AT TEE RET ARR ARR, AAT ER. UTE LEO HARE AA 2 SLE, SMA TSE ERISA . SERV MTRRAS RUM, LA ania hee eR AE. ADRT (EAH BEM BES, BARS SHAR ROMS ASM, HR CE WAR). (SURRIT). (HM) SANE, LARARPMBH, MARA A ED FAR AO AVES. A, PREAMP TR IR, BCAA TIR EE BRT RM. PRET RE, FAR, ARULS, ARARS MASHER, ABA Ti AAS TIPE OR HBA. MURA IE HG RT PEATE REA AR SSAPMEHLEA ALL, BRAK. MUM ASTH ROMMIE, AF TERT ARH. RRR TEA, RATA LAND, AE TR ATT T RS, PUAN, Sct. DE SELATURAR, see AERA) Ca AA BS, TORRE E TPAD ORRIN, OI: BEM RR AOAC BD» ART PEASE AUT EA ILA I; SUMS SE LAURIER; RRA BOI SRD . TERME RA UA TMK, SAREE AT LE EAR RR AT A a SAT tat 2012 7 A DABS TE AURAUR PE, RU OU ATT EE SCORE AE, SATE TAB eB EP SCY Wi, MSGR HARES RM BREST SIMARD BRT OO, RT A SH, BAER AT ABZ Net Objectives AAs RAMA BAA BARR BM 1970 i R— AN AETE HB) 40 AF FAS AB RTE BOAT he fn — BA BTR, AIOE, RRA TRE, IEA RR AT FR. (HERA RA. EOWEP, RESMIMETLPT EME, PHATE ARH, HSA, Te ARSE SAAN BRAWAR: RIESE, SARA, ME. BAT FRUAFE RA LAAT A AMA PEP 9 AAT Bak SHA, OE PBT OY TT FET PE 5 NRE TLR, 2 AAD PPP ST ET. NESA, HAR OAMEBARTASS HRMS (MMA, TEFAR). Ril, KOA RAR GABAA ACHAT RSG, HS, MarR ee Heh TM. THRARSHAR RM REP RARE Ls PAR RA OT TE, REI Ca FS SABE BUR, BLATT ANG ATR, Nth ABER AT PEM? CERRO MD. TL, WFO KEMDA RR BRA ZEA BE 2Z,Mfi Net Objectives ** shFF AIM. Net Objectives, MH, RRA BHAA Net Objectives AAA RT, RUE TRATE AM A. MATT AUP aT OE? EB eK it, BORIC: RAR LR IR BRAT, CETL MATEA A AE DEOL. CATAL PO EOE I i UA SS FAB A HSE. TLE, BERL AMEIE WL 7 AB FP Be) — 88 — BATT I ES BH A a BI EP PERE, SLT A BDH TT Zs A me © ASME “The Net Objectives Lean-Agile Series” (Net Objectives Hit — HER AI) A-ShIN—Ae, $e Mary #f1 Tom Poppendieck 7EABATIAYATE (Implementing Lean Software Development; From Con- cept to Cash) (Addison-Wesley, 2006) 4#$22I): EFRERY, MEOSKRHO PTR. EHPRATAPRRERSH AR H, RMARRARAFA STRAP H-AFR, HU, MRPELLA, 41 TARR FRADE BIRADFR. Doh, RRMA T MBER, RAHAT RRAGE SAHRA ME. RAS, REKSHRRE. CMAP ULE, ME, APR, Mae SAY, ETT RAKES, AMT I RAT TE A TA ARETE ER EE Ly RRA AA. GAGA, ERLE, SRN RR HALAL OHA. EAA HEE RAMI I RR (SLR MTR), ARIE RARARNNT A, RARAMSLAZAMRMALRR GMA AE. LERFRA Bh, GEE, REATARD, FEMME LHF. UREA Net Objectives th FR BABE TE. KU, RAGA RRM ACIDE, WRATREMAL RE ELDAR; AS OE SEES Ra, BLA a eh BA LE ATE A IP RRRE, PRAMALRRSTE, bE RL BL OAK OLE SUK MR MITT A PRAIA, OUR, RC A CNTR), RR HT (POLE ALE ER. RMB TIL WS, ERR REARAE REX ELROD ETE eR HK, AACR SL A, FoR bee. ° SRL, UIE R RAST. * hith, ALAM RRP MERAR ENT, BERET RAT EAS IML FLAP RE He, RE A TF UO BWR RAR MEE LAA tk UG SR TTT SN, a RT a A PEARL, SA BRAT RETR OL, STADE RTA AB ZB BRET aS REPRE URINE HAAR A, BATT PERL AER . READERS ERA DTT, KER — KS SO A EAE XK SRM EAA, FWRI TARE, SULT PRA Ae, TNR ioeaam, “Net Objectives HidE — HER IU" ASHE SRD Eo RL FLARE APD AF LI A TASTE, Seah “AOA” + oR Heal, MILA An cr, SiMITe PEST. HTFR AUCRTR, Beep nse, 9 AIM RALLYE, ATI. AB MLRRIT AYE I He APA AR HEEL APERRAMB HEA HEA EMH, MEAUTAASRRAMTR. MEKEWA, EMREKT. Scum RAAT A PREM ARLIT , BAC REESE OE, RBS, FR&e#E (eXtreme Programming, XP) H—-KERRFTEMRALRS |, MAAR, AAR (Kanban) FURR AEC 412 abi ae ET TEI TY ABE AFF AR AAA a AL. Scrum RAMEN, RE—PRAZIT. PAF UI FE BD ARB, PABA AS TD TSH CS RE AS] RR RE AH. BAEK, BMCUMRL RIMM A, KAMA MRT TREE, SRITRLRE. MERATAHKAFR, HIRAM MAS, RAGA SKB H Hi, ORR AMER FARCE, ATCHHRET “RAZ” 8? AWKRETMARN-AARME. EWR BRKT -ERARNRARS, HAMEL AT CRRIAR. —AFRAR CEE RTE, HRA TERESA, aa Pe RARE. AER FRA RERT — TRS, UAT BORE ME A. TERR FO eat FET A TRIER, BOR ATE BU AAT AL TE Ah Es MART), Ty TAFT AAS HR BH AT FLAG HR PA BTR — ABD, Fh — i TOA 22 OT — ME ET BS SUE, CARMA, TT LAE BUS. BRE SHSADRATE AUS, CRRA, RP, RIN RAR. RAAT HR RIM HEP ARES AIL ENA, ME PCE AREAL AMARA BAILS, RARE SAT HSAMBOR, IRR I HL, AETHSAD MARMOT HEAR. RORAOTB. BBAAAAP MARE, Alan Shalloway Net Objectives 2] °CEO SC RAAMAAE. WRAL MET. woo REAR — ATE RE BN H59R, (ELH TLD DL AY TB AMA BE AK M1 ZE Net Objectives 25a] ik FRE PRAM, A, TERA ERA RB Scum RAMP EAR, B MBAR: “RMB AG, AANA — AA AER AOE” AER RT ET TT HR. HN AEAAR MMB A: “RNVEAAR AREA, FS Mtl — ee ER Hise” KIRA, APSHA: | RB MAA — TIF Ati T (Design Patterns Explained; A New Perspective on Object-Oriented Design) #1 {Emergent Design: The Evolutionary Nature of Professional Soft- ware Development) A, apHIH Mita] — Abb wn aH. © SMT RHR — SF. MRR BIA Net Objectives AAR (RR (Design Patterns) AUF MAT (Emergent Design)) HATE —L, WMI T . 8 SS “rN aeeR” (trim tab) BEAR eB “ANAEAR” A — a a RA EI AB R-PPRBERARSME, BOAT RMR. ALLE, BSH RAE PARVAMES . HAPRATSE, SKE “REAL” ARSE SE SLE OT LAURE AY. “HARMEAR (trim tab ©) OE?” EAT COL AIMEE AOE, FAR A el OLR AARC. (AS “AA” AE RF Bucky Fuller 9 4:38 8) nt 69 TE. BRERA DGARPAEBMH ZG R, ERS SONAR RH ek BRT “GRLS" F—SEMBRA, CHMEMMRA, HEAR, AR MRR, APE, MAIR. EAR PR HE, RED BRD ait, FESR IEA, RTM CR, BREA RUA © RUA. ieee AA TRB “AEA” KARAS PHA, EPA AB HS AEA, BO SAF HAT ALDARA KMS) ATR, BEA, TA ABAR” 9 BS, AMET “AMER”, DLALAE AT ALE RR TPE RE BLA TB 0 RR 2 BAIRD. CRT RED, RTA STAN “MER”. TT R= AE, AMTRAAT AAR NHB EME KR. “KE RRA?” SRRBAB EU We: © SHAS 4G (Programming by Intention) . + Aas aT © RATS AA WHE RIAL, SR EMILE AT ET. SRL, CATA SEA. B-RABLRPEORT SO AAL A, TW he RP OE. KE SE RHE, ADNXIETHRA-HHRTE. CRALLAAAPN—H—ERK, PAG BRAEMAR. BU, FEAT AL CA FR GEA PO ERA, EE mid FR—K SAE “AAEAR” JE, HLH Shalloway JIU. KARA HEATER Te), LEAR FLFR ARE “MEA” AIR. GR “AMER” “ABIL Net Objectives 29] AUN MELSR 2 BERATED A EAR, UR AT] Oe A RIE OR aS A ‘PAT LA Ae PABBA AY a] SE, EAE (TYE SOLAR A BUA AS. RAR, MEE S MOR Sa CEH T RMT. 3€8 Alan Shalloway SF HARI Buckminster Fuller TABOR SAF TiS. KBR RSA FL He: VR Bucky MAA, (LE MER RA. BGR, RMA Rh, Ae BARARYRRIT A. Bucky HRW BRAM FEA (Geodesic Dome) AAR “SER CA" (Spaceship Earth) 7 M%. (IEGGET “BRE” —APMHRNAIE, Rl] Net Objectives AMAR LAURER, MR, RENAE “ab” CER EBAY) RATRRNRR, itt, Ht -HARMOREM, CRAM IREHAT. TRRRAH AREER Bucky Sif: RRB RE ARAB FEB Fe RHF ML, He Rh AK a a, HARA DA AAT, RRMA -ARRKSHA, CAPRKEPAH A L, MEREARRET RS, PRFKAH, REOMELARRH RMS AK MARE RAB, AGIA RAN EER RF MLE CEH ILAE &, RRACHTHRMABSRAFER MMR MAMMA LAH, WMS Kh, REULRARA, RAT, WS, LRAT BAAN il Bucky HE TURE, LBM 1983 Fi MARA, ARS RTT), ERE PHO RRS, AAS, HARM, Ti Bucky RAMS, BAM. LICKAS T MeL HAI AM, RABBI AA Buckminster Fuller Hp (hup: //www. bfi. ong) THMAX MES AB PR AY HIRE REAL, ABATE BES A TEA WwW AMMA. Ri, RIE RMKR— OAS MAY, CER TSE ee Bee RAF WA: Christopher Alexander, #2#AMMi, (The Timeless Way of Building) AOfE#, BURBIEAR EK PERO RAATL, (2 Alexander H)#R AEE IL PB BIRT ETA. FE UIE” (design by context) AME. {Design Patterns: Elements of Reusable Object-Oriented Software) iti ## Erich Gamma, Rich- ard Helm, Ralph Johnson, £43¢ John Vlissides. 8 (R#2(1] 45 222 8646 (B11 5 9. 4F Fo BE HEE — By AAPA SEM SR FRM ERR James Coplien AY#2 3 “Multi-Paradigm Design” EER A—AK SIEM A BET (Com- monality-Variability Analysis) AYSCPL5. LS S22E FH BY BQAt 1AM Bf] 8 FASE ADRS RH MRR AFT NES BS FL HR, AAG PT AAR AY RR GE Jim BS AE TA HSE (Refactoring) #1 {UML Distilled) AYAF# Martin Fowler, (Hi8 5 SH MAE BEA FRAGAE WATE BD. Martin Mant RLIF AT BY BLURS A Ward Cunningham, #% RMVFEAI ON AZ—, MIT RA RBS OE A UR AY A 0 MARBELLA RR ATT AP TA HE IE ARB EBA, SPR Ward 228 THE aE (wiki) . Robert C. Martin, (Agile Software Development) RAHiFS HM ASCOT EH . “Bob KAR” BAR ATM RARE ST A, EAE. ATT, AE ATE. RT AEE ABA Sob, TBO FR A EE BF TEARULRRATT WEBI AA TE RE, VA BR Atal PATE RE. AB. ee APAUR, BUM ARRE. Lik 10 4E BY Net Objectives ZF ARTE AVET AR, AN PRAT EE BEL BBR. RMSE BT RAR HEL HRA BE, ERAN, SEE SR LHe PRE REM SORA BP BA BAT Net Objectives ZF] 5 CE MRT AR AI BJ 28 7 DR AY He Be A BY (ei. H REF BHF ABE ae ae BR RRM NR Sle RES MRE Ll RASRME: —T * 12 RR oe TE PRE BEE eis HE 123° Rt - 124 Bee 12.5 Msc 1.26 BST Re 127 ERBPRRER WBMES 1.3 hig H2e GRRE 2.1 —SaEBEAOIIRE 2.2 TR Oe vs 2.2.2 SRA Lat 1.2.2 1.2.8 2.21 ® 223 RMD SDS 224 REAR 22.5 ssc Rise « 2.3 RAUERSTAT 2.4 BRAC +4 2.5 AiR - 2.6 NR meet BIH RGAH, MRA 3.1 NEA: SATIRE « 3.2 toRMR ~ 3.3 FUME ACES At 3.4 PNR. ATM REE + 3.4.1 BERRE AL « 3.4.2 Hie RE a 3S —TREMREHHEE ~ 3.5.1 BaraRit - SM OMAR TE Ltt + 3.5.3 MRORM Aete - 35.4 Fee 3.5.5 BAR - 3.6 Nie 964% Shalloway 3:Jil 4 Shalloway JR) Al RHEE 411 SOLAR 3.5.2 MW 4 4 4.2 43 44 45 4.6 47 GSH HR 5.1 5.2 5.3 5.4 5.5 5.6 3.7 5.8 5.9 5.10 SCFRPERRUL: FED ES Reteok S.L1 asi ROR HHRUAK 61 62 63 64 65 6.6 6.7 68 6.9 6.10 SASH 12 “RBA” RE oe 1.3 FEARED + ERENT © SAHA ~ PTB TTRA OTME, - DAT BRA TEM KBEET M S “AI” RESR TORRY AR PB BHA 8 ON FAP RAHUE. READ BAREIS ASMA BB me APRS ALDER A Figet() STREP « RAS A iH BPR ADR BBE Rome L TERME SYA OAS LEED PRR WRAL FRR EO ARS RFE RL 6 6.12 Nei STE SEMRRAAR nA 7.2 13 14 741 7.4.2 TAS 144 14.5 25 1.6 BIE RKUMERHRMRTAR 81 8.2 83 84 85 86 88 HOF HERR - 91 BETO EEO BATRA MIR TRF REMRHEH TRAM Sh FE Ps FF im RB AS DUPRE oo XUnit Mik « He NAR IH AE TRA ROR PARTIR Z OETA, AALRE AD ~ AG BoB WARE + 86 + 86 BIRAAOR A RE RAAT JOM AEA CRIME AERA S AY EA BD ARR AACS AH AROARA, ABRAM, Bal SHHZLTM ot 89 PEABO CAS BEE AT SPR HM Asi ame + DLL BRA: RERRIESE + "9 91.2 MMe THE: FPRAK - 96 9.1.3 (BIRR, MASE. aL + 98 9.2 HEART MAE od 9.3 WIA RS AT 9.4 RS 9.5 PRA IR 9.6 AN SSRs wits HOR Ki RMT 10.1 FABIAN ase aE: SMe. BTA fem * 10.2 ATER A 10.3 (SFR ATE AY 10.4 See RIAL SEHESD OT 10.4.1 SRHESHT - 10.4.2 ADABHEST AT 10.4.3 RRA “FF 10.5 RMT RMPER - 10.6 SEM: — TED 10.7 Me + HUF UFKAARM A BHA Eh - LLL FRA TLL SFR SEBS LA BIIEHB <-> 126 12 FECA 4 “mu - 1.2 HY 11.2.1 fees + 108 112.2 RR ALE 11.2.3 PAU RS 1.2.4 LORRCRADUA BRE - 125 “BA” iE 13 Me BIR GREARRV 12.1 aR 12.2 HRS, ABA, BAH 12.2.1 Ae AE] MRE 12.2.2 FR GRE 12.3 RAR: ROA SHREK vere 12.4 UBER RPI --~ 12.5 MZ HE TAT tT RR 13.1 “OAH” 13.2 AUR, BREE 13.3 (GBHE 13.4 RAIMA SR HSHE 13.5 BEAR AEA 13.6 BRE 13.7 RCE RAMA SERDAR + 156 13.8 tee 13.9 We Has HRA R-BRER RH + HRB ARBRE HRC HRRMIERA -- Sl R2E 3H R4% BSE 86 R18 [38—BBS} Part 1 He REN “bem SHS ORE BB AS eA RGAW, WRAT Shalloway 3 ji #0 Shalloway J Jl HR mae vo wb it Bh RAR ab TR 61 | Chapter 1 ah PLS Wd it RRR, MLR ETARBRHAHAMS, CAAA TAS — AAR FRAREER, RP-PTR, tet “BS HAL” (Programming by Intention, & AOS AE), CHA — Peas, MAA, A COBOL # Smallulk FFP, ER ARERR OAK (PHA AE BL), KRARAAT RG: Beare HHKLHAAR TE, RATMH MARTA PR- KARE, AHP, HMR RERAL-EMR, FA, AMMERANCAAA, REARAMERHULDH ZH, RSHLEH MR, THRAARR FHA RB, 1.1 BESaRe: —TbROl ERTLAT, GEGLRB, RiNwBRWE—-TRABE, CRR—-TWS RH, RR, RMRE (FERERRAR) CGHPME—-TUM, KTMRADA-TARH TER TEAS PAE. FER ME © SAR IFA FB pee ASCII AFAR. PARR PPE AE A — PFE UA, BEE PH EL aU JB TH (domain language) “PATA IC ICR (token). © E-SALTRDAEK (B-TFEAKS, RRFHNS, SHES RRS (FES BEATE) 6 ° BABIN TAL CRNZS, MAERAKAMF DMRS AR CK BI) FRBZE, VER. © BHAA: Keot Beck, Cynthia Andzer, Martin Fowler, James Newkisk, Robert Mastin, Ron Jefriee, Liss Cris Tip Howse, Ann Anderton AI Chet Hendsickwon , RIF BHF MBA F © ARSE, APL EME RGRIL “truce”; JK, MWA GRIEl “false” » RAIDED De eet (HE eA WR AE EA). BOREAL GE RR ATR OTR A-SEMBRDAAN: CFD RP SRN oe, BOT SHAE fl — SUMTER, TER TA, RTM RAI I. MERGERS, RK (1 DI 2 a th 2 1 HR PRES BACT TB PAL, OR FE — BOR ABA Re — PORE EEE. TER AY TEP, RUNS LGM, AERMLERG-ABR, MRAP ARIE, OR RYEMRMRP, BAAT—MEROE, CTEM RE RA, TRE ARTSE— CRRA. AMAA: “MTN BE. ERR MUCHMOMABM, BEAM? BA, MAR, HARM FRM AER Le” WE, HATHA IEE, PORT RAC RAR Z Sh, Be ATI RENO (Aik, Oe “RAE PR”). SUS, (PF TH: public class Transaction ( public Boolean commit (string command) { Boolean result = true; String[] tokens = tokenize(command) : normalizeTokens (tokens) 7 if (isALarge?ransaction(tokens)} ( result = processLargeTransacticn (tokens) ; ) else ¢ result = processSmall Transact ion (tokens) ; ) return result; ) 3 commit () FRE RAT TM RE LA MARIE (APL). MR, ERAT, SEPA AEE EPR, ETERS. SA Hw HK (tokenize (), isALarge- Transaction (), processLargeTransaction () #l processSmall Transaction ()) #7 APFAPME APL MBS, MRT REE. uk, Ea A WF” (helper methods). BE, RMACENSWMADE HERNRRM, RABE ARETE) © BRIE, CTTEIK MRS LABEL — BSD, TEAR RL Sb RG a 8 en, HE, EMNRECR AIG. MRSS ME FR, SPR aR EAT 4 RR RAMA DAM SRARAPE (ARE RATE, LAE Ah PR ATT Fe ETA A ET) AT ROME, RTRRMBAB USE MS. PURE EY RE De, FRAT LAH Aa SR HE Bh EI BL Be a HE BLE, CIN, RAN LMA RR RIA, BLAIR string BH eS ALTE BE Hh 6 (RG, RAMA SRM, BI, RAT BAIE cokens fF 2 normali- zeTokens () A 3/936 Il (ER BFF 3). THE Al oe BA NA, BRATS ER iB. AR LAW? RATS TRB, CABS. MEMS H, RN PUA — BE: PIC — ARBAB HE Bf eB A ak TS ET fe, SHR ARCBSA—MERMHEE (MRR SEH, EERE BRE) STLERRRABRS MH, RANDY RA, BRNBSH WRU RH MUF SERRE, BCL, POR MATEO RAT SCT, HARE BT BA, RAAT — AR AT A SE, RA TT eR CE Bh, TLR RAR) AER, AA TRA 1.2 ££ BREA, KRM AAS LENE? ARR, RAMA HMERSOGRRRAR. RTA ERR LEP AK, FE-— RETA. RAGES HRMBOTA, BARES: ° MMAR ORKH—). © BAT EAP ° HST. *RSTRMAR, FURKRPORT, MEME. © BST ScwR. SO RH, WAGE. AAR, REALM MAMIE A LR EES PRM RKO ERNE. BH, ANA PEGA TNL ERM UREA ER, 1 tokenize () Hl normalize () WRAL ARIE. Hit SHH MMH 5 A, DRA PAIR: ES PRR, FEA: © ALEAA MAA. © DNA EF AAEM — TRA + REG TEP. 1.2.1 FRA RE RGMREREL—, BEAR. CRORES Re BATT RAE. BH TRE, RATA BREE (software entity) Ha — HOHE, ATR, —TRAR AT PT AR ATT TE HE. U2 eb, — MEN BEE IRR L, FASTA MARAT. RN ARASH, REARS MRSA RK, TEA THIET BA we Be OE fo E—-TENAM, WRAHHBROMA, FAMERTANHE-RRERZA, BB ARAN LBIL TIS HS A HE GR Apa VE Se RT BT AO PBB HPL, BATTS RS eB SE AR, ETT ORRIN. aE, LEASE PA — ea OT, BE BURA, RRS PTT, AA HRD. ORT Ls Bl — ee BE ER PURE. PROARWRRE RPE, RAE. UR a FARE ANIA BODE A, BATE BRE TT PRE TR AED RR A, AMG “BAER” ELE, ALTSCR EAE TES ES Me BET DT | RAT ARF-KRES—HS. CAS AMR ERA, ARR HE HELA OYE LL PEI ARTI 0 EAS MRE ERAS TERE, ERA RIE. 1.2.2 BYP R IAT LRM KRAEMER, Wa Fee aT Bet HRSA ASEH REE, HAO EE, AS 6 BRD RAGGA public class Transaction { public Boolean commit (String command) { Boolean result = true; String!) tokens = tokenize(command); nomalizeTokens (tokens) ; i (1eAbargeTransaction(tokens)) { result = processlargeTranaaction(tokens) ; ) (iault = processsuall transaction tokens) return remit; ) ? AAD LAAKRE “UE” AY: “RAR THES, ER. MEU ATA, HE FICE, AGREE AA ILIRRA MA, PERI ARS OL lB AA SSS AOL ETE. AUG, SDA” Di A ee ae HT”, TAIT A", SP RE Hil, ‘BAY PARE WT AP UR AE A dl PE. AT IER, SAT SR 0 TE A A ZE RTIE HE 0 ROMP RLGE TREO AT RHE, PEMA AT ASTER AE, RAT RATES PORE, GEARED TRAP OEL. REA ORNATE RRMA, BEASAHENBHT. SR, ERR T, (ME, MORAL. Mat, RERNT PREMERA MS OME MURR HEE TBA, ERARGHTR, TK RAMEE: AERC RACE T, ARITA. MRE, EA HARERM, WAND RM AKAMA TRE. RT MAB AE, BE AURIATIAEMIR PERM T. HL, EAE MRR me, eee RO HERS MARNCNEM, CRAP MAES, AR— PPA RM RATA REE RK, ARPRACSAABRARHS REM, ERMELL, REA HLROAR: STEALS EE BA BA Ee RK A FRERGES EAH SHE, SRNR, ETA PRE CS Ait, JHE ANE RB AUER, MUERTE Be, KORA STR. ORE RE RAT MERAH EN A, RAPER HO LR, BEART LEE HOA SATAN, ABTA NRA A Se eit eT HERR, (EE RANE 5 HIt Sapam 7 GSH OU REAY LAS. SUSTAIN iad 2 9 I TH A Fh, WRAL PMA S FRA, “ond” Fl “or”, UBL, EIR AIK eH TT MR, ENCRARERE, RRERNABARRAARMANAS. RAFAT He Ae AYRE, RMSE we AREY HK” (intention-revealing names)» A—# ATMA RE] RRR, ERS, SRB WRETALS, CRAD RM, Ree Zi, RASS wiRA. FRASRARGN—AM “BTR” BRRIAM A, RMSE, ERR AC — AP SR”. BEN, (ARAN TREATED: public class Transaction { public Zoolean commit (string command) ( Boolean result = true; Some code here Some more code here Even some more code here that sets tokens Some code here that normalizes Tokens Some more code here that normalizes Tokens Even more code here that normalizes Tokens Code that determines if you have a large transaction Set lt= true if you do if ey ( Some code here to process large transactions More code here to process large transactions } else ( Some code here to process small transactions More code here to process small trangactions , return result; } ) SAVER, MTBAR: “KH, RIRMACHFHTA; ERM eee 2,” Rak hwy XA: public class Transaction ( public Boolean commit (String command) ( Boolean result = true: // tokenize the string Some code nere Some more code here ven some more code here that sete tokens 8 BHD RK AMM AM // normalize the tokens Some code here that normalizes Tokens Some more code here that normalizes Tokens Even more code here that normalizes Tokens // see Af you have a large transaction code that determines if you have a large transaction Set It= true if you do if ae) ¢ // process large transaction some code here to process large transactions More code here to process large transactions else { // process small transaction Some code here to process small transactions More code here to process small transactions ) roturn result; ) ) BAT? SSRRBL, RANMA ROGET fA. MSR eS aE WAX, RALARTAE. MHRA WERE TERRE, BART TR, el (RBAS) —e Ba. 1.2.3 nt 4 Net Objectives 2] 3 WI UREE , PUTCEA Se AMAL, HA ET AOI EAU HAR. BRT ABS ERITREA A Sh, AMS AIR MI BN" EARL ARATE AE GRE TE ER PUT ATH th, AEDES, FAR Ee aS UR AE OP TE Fe BSP, — BE BEL, BRIER MRATARA NE. ILEANA BK, BETA A ko AAT, FEIT RRA MT, ATE TETSU BLAS RD Blo MRR, BUT RBUS at), EFAS CGH RAL TL. (LIA, OB RET RR Ki BELA MA ERA HBL, 2 OE SO EBS, TEA EL ae RR, MRR SEA SSBB RAG IE ET. RRP IR AT BS SO ARENCESMIRIOE, L-LACTALRTMT: MARR, ROGEASMRARSA cre FIX ERP ORB 9 (C1) BRT, PROT HE ie eM. (2) MEER TABS, HH PRT EY A ATR PYF RAWAA ARRAS, RHR AL A ED RES AAR ABE BY FTHAG, LHAMRTKLARARAOREBR RAE. At, RRA, Ay A SASS a. PR HARREMRBERE-AR-ABS IE. Ait, ARG AEA EAC OSTT ED, HE MEEABERKS, RAR EMHTAMRETERTR. “RACKED ARE, wb 35 BA Hw PRO MAR, RR, RP IR, TA STAT AOE Ro ALLO TE EE ARI EI 1.2.4 MEM ANdeE ZEAE HR FEA He WW BL, BATA HEH HL Ht I EE RE Do MFRRERS BAPE RBS —, AVA, MATL a, BRAT As Me ay Wit, RVING SMR, IRIE RTT. FRE GE, RATS Oe OY A LEE A PARR, BIE Te URES AE Fo MH MER MH RAF IER LET, ARM MRM A AM A HA GR TRO. BPRA, RU GB: © RAK (RIARTAREMHRE, BEA). © RA MAE RSET AEA IER) » BAAR “HL MTR SRR. AIRTEL AKA, RNA ARERR AR, MRP AE, RORARTR PRAIA. RH, YAR MARE VARA T ROADS Tit, EMER RIS, AT eS. 1999 4F, Martin Fowler 5 7 —A #8 S69 4548 (Refactoring) ©, AIR T HAR BY, TERRIP RTA REMI FMRI, RAMI Te CMA Kh EB"). FEED HE P9 A BY AS AR, KARA HE A — EB HH IR OB (Extract © Fowler, Martin 9, (Refactoring: Improving the Design of Existing Code), Reading, MA; Addison-Wesley, 1999., 10 R-HR RAM GH AM Method) : 2M M—-TEAMTEPRMRAK, KAI-TRPEACH MAB. IG AE IR RS YR PAB A RAT HH PR HB — a a Ht BEE BARE, NARRATE RA HEE MT ATEN PREACH LOEB HA, FMBA—- DER ERAT TRS AU, ASR OR PEAR Tree, WRIST TARE.” OR RA SARB, HSRMKE SMB TIAA. Ken Pugh 72 (Prefactoring) O—¥ tte) 75 HEI TABS PA Se $e BRI BS AT Aa A SX FR TG BF WEE BAT PS ARE, AES RIS RTE MDG “BUY” ( prefactored) , Ji BATRA BME, ARRAS. RNA RR, RRA FAURE Sy Se 8 Bi RE AEDT OE ASB EE ATT BB 8 3 BPUAT. BAT OAR, BERBERA, —T RAVER MAE: Tak Pb SG Gy AG SELBY SRM Hr BEE YD BATT LL A HH 7 EE A AG (BERANE TBARS) UXRTARN TT. DA, soe ARP OT EL SUMBSAARANTLAR, ATRL, RNB “wa” — A LAK. FERS, BAT ARR — NA PRACT HA AER: BEL)” public class Transaction { public Boolean commit (String command) { Boolean result = true; String[] tokens = tokenize(command) ; normalizeTokens (tokens) ; updatetokens (tokens) ; if (isALargeTransaction (tokens) ) ( result = processbargeTransaction (tokens) ; ) else ¢ result = processsmall Transaction (tokens) ; ) return result; > > PK, MAN updateTokens () Hk, EATMEP RMR, MRM RRA AUB Sp He ARR A REE EAE A AE. SESE AR BEARS AO AE MT, BRAT © Pugh, Kens (refactoring). Cambridge, O'Reilly, 2005. FIX BBP GRE 11 MTU ALT RUA, RTL TRAE. PURE, ARETE RTE FRM TNES. 1.2.5 Barat ERASARAP, WR-TURHAER, ROAST RENE; MR, PRERBTBS WIE ELE. BRL, RAMA RT ABU, HARSHER, TERM SERRE ROE L, MAIR EA ES LA, BPTERIFA MRR, MAREE “EDIT RK” AE REE, Ay EAB ARS ESM APL. PATA A IR — HK, SHB RES EEE ASI FE ERLE PERU EO, LEAP ACTA). PEATE RAT WE, ee UY ERATE HRN BR, GML HR GE HE th URS Be RSM, ORV NADP ERRA TA, LUPRATMRBMR (SR 1-1). Transaction -+-commit(String):Boolean -tokenize(String):Stringl] -normalizeTokens(Stringf); -updateTokens(Stringl); -IsALargeTransaction(Stringf]):Boolean -processLarge Transaction(String[)):Boolean -processSmallransaction(Stringl]):Boolean nN | Mit L TransactionTest +testCommitATransaction() All SASmee, RAE PATEAEEMM AMD, ALR RARER commit () WERE Wik, RRA DBA — A> EN BA dF BAL UR SRT ON SCE MR PY AL OS A eB O RRAMAR, Wes ee, 12 HD RAM DMM &, Mit, ARSMRMNEE, ASHRAM PRM, RNR R RITES. WTF FRAT AT LAR RAR ER. (RPE, FRAT TO RO, SM, BEBE LIST HAST OM, SHENK Bo RRA TRE PR SRP RA UR, EMAAR, APL RS LG AABN ABE BAEK WBA, RAVER ALM ALA ITE RENAL? OR, ASP TMA: © AARP RE, Rat commit OTRO. FAT, BOGS (RAT AMAR RAL, OPV MRI RE A RT ER RIN AB, BLAME, RNTBER MH (EMRE) Ze, RAMA ct Sie b bois EMA WLE, RNCAREM EMATAM HMR, REEMAR “HP Oe OR”, RARE EA AB, TERRIA FA RB ARMA EE HE, ETRE IPR, HET UR. AOL, RRA EAE ADB, LE ILE. KER GRAFH RAR, He. TEA WRAY “friend” (EC ++"), PGIBAAA Ik HVE—TBAE (delegate) FEN, PWR ABC . AI RR “TMBRAR IE” (testing proxy) ( 4E. Net HY, FW “protected”, AEA AIA AB AE HS MY RAE BEY Be a Aa Fs HA ARF DR ie 7 eR A Ae HER AAT BA — BO AOR, ASR. AM, RAT RA RMR SEK RK, BRABSE ZED EY 5 SEL, AR MT Ya, BEM “mA SR, WASAA WTA, RHENERTAT ALAA, AELMLH, RK FETE ATL AE. MRR TS a At the RR AT ET RA 2” ALTE REA. MRA, MARE R HS MATAR. GIA, FRA, PIR EGR PRR, A th, RAT PT (BIL 1-2). © KiFMNne, ASI, Bit FHP GRA 13 Transaction ‘TokenNormalizer “TokenNormalizer myNormalizer === === =~ 2 ‘+normalize(String():String[) “¢commit(String):Boolean -tokeniza(String):String{] A -normalizeTokens(Stringll); | , wa! -updateTokens(Stringl); -lsALargeTransaction(String{));Boolean TokenNormalizerTest -processLarge Transaction(Stringl)):Boolean HosiNormalize) -processSmaliTransaction(String[):Boolean x wat | normalize Tokens(String(] tokens) y tokens = myNormalizer.normalize(token: ‘TransactionTest +testCommitATransaction() Hi2 kites (RURERB BIT, kf rokenNormalizer Mt Mi MAIN. PRT transaction sh, & JUGAL FAB] TokenNormalizer %, Ri, Mt} TokenNormalizer ME AGREOME ACM Mh APL, Ate AMR OATTT . DRL, tH Se AHR, ERR TT FEAL CH RE A A AS ET SP, OF DAFE Ath HR A Rw) — 4 Pa TS EAB AR 8 TLR HR AR FS), BUR — PAG BLE a — PP TT Se SA PA, RA BEY, BET AA BB Be SE, MATS EAS IR RAM —T RE, RSET A MEATS Sk AL ET AI oe Ete. RR PREC WE PELE Transaction RMB WET, BAGH HI ft SPHERE te AN, (AMR BET RE, ABARAT. lk, MR RR Ot RABE RAT CH TDP a BE 1.26 BAC@inirR RAR AT TG a AA, RS eR A a GB, RB A ee A ZEBEMES. SRHFRNKBRSEE, AARNE PARRA BATA, © BRRBRA—TMB, “rransaction Li047G9H ToxenNormalizer MK?” LB 2 BATA iovemntie. S S14 BMA ORT. 14 ROBB RAM GAM BRT A. PS ey A A TE LP ER A, BO RB. 1.2.7 ERBPRMAK E Net Objectives AA], RAMEE TRA ARM; MERAH, Bh BEM RS HA), MARIANA “BER IEAE” AUR, EA Ta UR: “ Service Fr METRE —TPAUAM AIG, MURRRTITERIERH (doService () Wik) # MRR HEM RTM SAM, ALOMAR, MRSA Hoe? SRE, THAMMUA. TILMAN MARR RS, HH LMM RR service x, HASTE —H. BS, MRRMBET doservice HEAA, CRT EMHHRERASR, MART FRORARG ELAR, BM, AMPA, RARE H HAE, WRIA A WASHER HE, (RRR RTAB, BA, CRRAS He BAAS, WAS b SK B BURR TARE, HURST B ASE LAATRHRORA SL, MARRAB MK AL 2.2.3 KEMAH AH wah FELL GT BATES WLR R21 RORAHA aM meet alt ONE, TF LWA RAD LR HERD (ToT aR eR ET) Ae AHMEEE RAE AMS ER FUR, TORR RE, RE KR, MRAACHEATMREHA, MRAAKOWRERT HA. SMALAM WAR, CMS Te A TE BING AEM, BusinessObject BARAT service H#l#, LARAT Service HHH, Service HMMM 5K AMAA IEW RM. MR service HRLR HLF PRHBPRA 21 ATER MALABLB, WA BusinessObject UHABRREKS. RRS, CAM RRA, RAT LA. “WAR AGB) AD aN”, GK ALAR We a aT He GEE FS AO ER BLO — BER, (NTE EMU AE TLL”. BM, TERA LR aL, AT AE RRA PU: “RAVE, WEAR.” BB) OTLUEA”, RAE “ATE Aa": TERR, MAT POS AUML ERT BE, EE ATL. WAT: “RT RA AEE AGT, TEFL A AE Aa MF” FEU, RA a HB HC BE A LARA A Haft AaB CD AEST , BR ATTMEIH R-aE F 9 E a Fi, WAR HET RR. le, SO Ae aT ENR, ROA MARE. Faft LBA FAA AE AMIN CSM HE AE AE HLT Ds SBE HI AR SEIT MAAS HE mE AIM TSP DSR, BRE I a ae FY BT BR 2 ARR. EAM BICL TAM, EMI RA te OO AA AT AE SE. ATL, RALHROMMRERBRAS, KA CMRRAMROREARS. R-WH, MRA UAE TE Rr BEA ES , BRA) RA NA Le dod ET Be ERT SH a AT CS SIVA BR, WG AS ALA ALB LER RR AAT public class Businessobject ( private Service myServiceobject: public Busness0bject() ( myServicedbject = ServicePactory.getService(); y public void actionMethod() { Uf Other things myServicedbject .doservice() + 1) Other things ) ) WEL, MM CATRERE A, aL TL ARR ARE BESK (Adapter) BEART (Facade Pattem) 356 ie UR TRAE ATA BABE, THE wor, netabjectivesrepository. com B LAURA. 22 BHD BKM AM class ServiceFactory( public static Service getservice(){ return new Service(); y JUR service FRR TUE, BARHBW Businessobject HMMA MRE ser viceFactory (EMT factory HN) PAU. Bi, WE service RABAT 7, OREER— TARR, LEAT ALTER, IARI servicerac tory, {HASH Businessobject. BITE, TEAIGHA Businessobject MINUET, CEB BLN T AME. public class Business0pject ( private Service myServiceobject; public Busnessobject() ( myServiceObject = ServiceFactory.getService(); y public void actionMethod() { // Other things myServiceObject .deservice() ; // Other things > ? class Serviceractory( public static Service cetservice() ( if (someCondition) ( return new Service_tmpl1(}; ) elee ¢ return new Service_Impl2(} > ) ) interface Service ( void doservice(): y Service_tmpll : service { void doservice() { // one implementation } } Service_impl2 : service void doService() { // different implementation } AACA PTE? AA — ab BIA ee? Je, TAA, HA, APR Si CI, RE “TSF ROH” TERR RU I B2F PBMBPRA 23 HAH), A, HRS TSWANA ORERRHMSEO, Hebi FADER. WILL, RATATVAR, TRS DEE PR, METER A AL. Ri, RAM A— FRM factory WARE LAR — BT BATT TE ARES BA HOME — EEE BB — NRE RABI TT. TTL, MUIR factory BET ORES PAZ IME Zt BEAM, OBZ SRP GR UL BT LBL RE RR A ESB 2.2.4 RRA HE PATA IAAL, UR SAR Ae A PR RR RT BYARBE” See RUA I AN OIA. Ti “RADAR TU” ELH A, , ARR L TEAL ERT MRSS, RAV PSE RENN factory, AAA ERASE HIE. GK ALS FILA HH: * AT AERHR, HRA ABUNE PARRA TAG, Bee TAB AT LE Se AY ELE SAL SP TT OK. | MRT EP OE RAG, TE ha SAE TP A, RAPE PRAT LATEON ROR, JFL RBA setter () TERA MAH, EME SHAR “RRBIEA” BAH SUOAWH TE, RPM, SGC RAAAIHALAA BH. MR BR ALT, AER HY eS SE, EN RE BR RE PR EE Te BCR, ARATE MM HH. HE, LTA ABR] ABR EB, MER EAK GTB, AR EM, TR RE WECM TERN Ht, BRS “REN”. TEAR FP, RPE ATLA OU BRS PBA ARH. RTT, AT A eee AY TRF STA REA a, aA PEAR ZEE A HHP eH PLB Pt, UFR BL Aas LEH IE SS ART, BACT SER A A ob TP i ak FG, FRA ARR OMB. S RMAC EAE, RITA FRAT MRI Bloch, Josh. (Elective Java Program ‘ning Language Guide). Upper Saddle River, NJ: Prentice Hall, 2001. 24 RD RAR MK public class BusinessOnject ( public void actionMethod() ¢ 1/ Other things Service myServiceObject = Service.getInstance(); nyServicedbject .deservice (); J) Other things ) ) class Service { private Service(){ //any neoded construction behavior 2 public static Service gatinstance() ¢ return new Service(); , public void doservice() { //implementation here ) 3 BUINTE Service HRI TILAT(UH, HE Businessopject MMM new Service () KB Service. getInstance () FR". BOG, TERE LARIAT. MRP BusinessObject Z4h, WES (ME PEE Service AUT ULEY, WHT SA WS Zee RRR. RO, By MAS ATG BST 2A ve Ses Sok BE BF Ta AL TT 3 public class BusinessObject [ public void actionMethod() ¢ // Other things 77M» Change! Servicec nyServicedbject = Service.getInstance(); myServicedbject .doservice() 1 (/ Other things > d abstract class Service ( private Service(){ //any needed construction behavior } public static Service getInstance() { retura Serviceractory.getservice() ? abstract void doservice(); KLE PBB RAM 25 class Serviceractory{ public static Service getservice()( if (someCondition) return new Service Impli(}; ) else ( return new Service_tmpl2() ) > ) Service_Impll : Service ( void doService() ( // one implementation } , Service_Impl2 : Service void doService|) ( // different implementation i 2.2.5 —EeRHSRAK RTA RR TIE RES, ROAM, BE EL REE. NA HERSBCRERSAR FMAM ART. VRE, eS RTA MRK FR—#AF: © RATE BEEP BRE AAA BY (private), KERATRA, BAW ALTE A new EMANATES PUR ORE, MER BHOPME , A TR EIR ATG mB A, A te SU HOE 8 SE De BOAT, ARH getInstance ()HRRRMB LA, RH ARE new, FDL Siete a — a HE SB © RATAY factory HEF —AA PASTY SEI AT EE RE BORAT LE RES IE. SCRA, FER HES, RTT, RUN IFAREAR LUA APA Y (getrnstance () EDR), PARR, REA WH Le factory BALM RTR (singleton), KPA MBE ASAE, HB www. netobjectivesrepository. com/TheSingletonPattern , © FTA BE, FA —AMRSL AH factory Qi XTRA Meat TM tk, RE BRET LL BERR ge- tinstance () HHS. (HAE, 3X APM IADIN th 2 SA A HE REE AHORA UTEP Om, HAR Sei at geo OST A aE, Bae 26 BHP RK AA AEH © FMR, serivee MRAM M BAR MAR. LEI AMAOL FB — URSA factory MLE WAN AY >}, Hf ALAR EH EB 2.3 SRNR RITA BO RTE OU POL TE, EA PA TA HT AK RNGARR AH, MPAA EOE, TARMMRE SI, CHORE, iT RARE OY Hr LT ASE OL, PET “AO”. EL, AB BRAT EF ARAB, BARR, tee. RAATARSAMAME, MARES —T: ARI (THM), Boe BRR AIBA He TE, SERIE MERE, PERL ET ART A ZT, AB EE FE TR A PUA LoL REL. EE RT AAG Is AE OT Ni 89 3G RK, PEA EH Jes, RA a fy a ak a HE, BAR? ASA A RIMM RO ORM, Hb, RETA AE KL, HMMS TI (Abstract Factory) . Jit ( Prototype), MASHER (Singleton) . +: LEE (Builder) Fo Wow — TAI AE? EFARARAMEH TS, RNOAARIE CM RAMEE ASE MOAR UE, RRA RRR SM KR TAY ERE. TE La Ay RIGO THES BT, AE MTT AY BES, SPARE, CUR GLI MM (“SCRE RARER”), RET — AES CLES, WBA TUF AT APE RE AY ERT GE BY, RE RN SRC AD AY RR A SR. TTAB ERG SS a we A Td NE FARE AY HF LE A A RE, RSE 3 SHG A AES — Be Bo RV AAMT ET OCA, A NR ARTY, aR, ett, CLAABRRIE. PRT, BAY AER Eada A the PT ATE a De ERAT, BULA RM A, AAC BCR AA TL, AST PGR HE RAL, (EH get Instance () WEES. WEAR, oR TA (CEMA AT IR) BUR FEAR — Fh factory IHL, TULF ARAL RSET Zoe ah . BIE QPRMBRAA 27 2.4 mM C++ ORAS HG BE MH HE RL, PEIN? RAR: HAR getinstance Wik. ALC ++ PARE, OME BL DAE CARE C++ FED, TRAE). TR TA, 2 I — PARAS releaseInstance () WE, AFURW delete, #4 releasetnstance Wik MW BWA A — 4H HPA FERRE ATR, MEM delete. Mili, MMMM, HT RMT MARMOL AM, A get Instance () MI releaseInstance () Hy i He # fil Rt Me (4) 449 i ALIN BR, AT VA HE AB BE Feo BAM, RMT AHA LRT ROE A A NE TAT BAC BB BAL CNL getinstance () HARK A LBAMR, WGik releaseInstance () WE tA WEI) 25 BRB SEU, RATR BAERS MH: MRR LATA RAMA, A- HEY REDE GR FT MEAT, HRA OM RARER. WAH SY Bi 2c 21 — $8 HY BER SF factories LARRY MAY RT RA HAT]. Ze — HB AE A, ‘UA: 3k 28 SA Rf LE — 2 fe Oa IB” BRL, LPR AMA, HET AA EO RT A ROSATO. ER EA, MABIR UEMURA RAS. WT, MALAI THE, SRM HAL, MEARE? RATE, LPN, BT, OUR AAR SARA (RET BERS), PLAT. MRT RTH MEE A Te? ARES MGPOR, RAM MOEA, Ray AR TT (HARI). WEE RAT , ER MAP AAEM RAN, MRO RAH. KORA SIERRA: “REE SR WR, AUR eA BA BY SEL” BIA BL" SHAE — a SAAN “SON” st, ka 2.6 We A AS BL) , BRA A HR HF UB SB 38) IY BA SRB AAA”, Je 28 RAD RKMG IH BAD PRI AY © HEAT IL, RA RAB AEE ANE BEAR AR He Ay LES — Oe HK Be BL TAR, TR ER — a, OR BR SMEG HIE, HN FRUBI STA, ARR SEY T ANA AT REE A). NT PR Pk — He FMAM, RE TR ER AR, TTR AT AL LO — PPR LIE, BATES RFS UE TPO RE ORR AAAFRAABERER, TRANK- AMMA S SRA AM eM, 8 AT BRAT, FHETR PS MUSA, AR RH RE AREAL 5 MUR PRREBR. PERMA R BERNA CMR, RON BW Hid. “RAARARE", RALAS “RORTRARA” RETA. AE, ENRRERAMBE, BRAM. BUTE BLUE HR BH: BUM, STA Lae | 83% Chapter 3 GAB, Wik sit MARIE FM IL, AALS PA (Test-Driven Development, TDD) ©. A T AR HA. APURGRERAESEK HAP KEELER, HMERARENE PAR. XLERASPAPKERSSBUMR, THAR “RGAM, MRM, BTR” H, FFARELAR TAPS RHR MEAL OME, REWR, ROM AREE VBR — Aik, RMA WHS AIA Re HM RM Sh MH RY Ahi EH HE HRA, AEHKAL MNRAS, RAPMHLAHAMRBAAREAR IM, ABA ACAAREELE MM RA 3.10 MME: BMS ARE RATER TRB), ATED AB “REARS” ATER. BON * AAEAR” BE LAE Net Objectives Ai], RATA WM AHIR A A BREE AA EERE. BEIT RR AT TR RAR. ROURKE DMEM (REAR IEN AS), ARR A “NE i” PRRBH. Alt, WRAP “ER PA “me”. 3.2 fosmid TRF RE RE Ly RE EL AT AE AR AM AEE RR EE, ET DP EMRARE, RATHER RAH.” RPAMRR AME. RM, wa BAT, SUF ERIE” MATT LAR SOR, ATK ER” ACER, THES REE MS. ARTF ER, MME TOR CO ORARRAMEM "WA". MOBS T H.R SiR, dR ORE “HT. 30 FAHD RAM NER ERE RTT BET HET UL, Of eR PB hE SE PURER EE, SEMI A — PE EL FPA DE EU — SE BRAVRC EE 5 SRMLAE I Ht A FRAT AT LAE Se A ZB aS HB RR ATT a HE SEPA BEE RAY A CRE A T AUR eR ED FO eo RTH, RMR ORR ES NT. BE, TAD MBA. ALATA SEAT OS NCEE A bP, Ce a a AY BRHF. RABE, TEATS ME, MMR AMR DRT Soy SK B-Dy RE 9 $B Va] E@— 4D ok — Sd A RASA. MARR, BAI. 3.3 WHER O RE FA HRA IS AA PFE 2 i FED FT a AT CIA RE, HRS AAAI TA Dy Tai. TTL AR AR EIR FE PEAT UAE Be, BUTTE RPE: “RARBAMRET, EM TASH BH, HRW eR Ad #5.” (KAR) “PRA BEARS A, RALAPEMARBR BH” (ER eo.) “RARGRMRAT, CRLNENLHE, ROMRRER—-BL— BH £4." (R*.) “EERBRMRAT, AAS O MMAR TAREE AAR.” (OST RB.) PRATT AAR BBLS “OSLO, A ATT ea Be HB MI WRE .” R (Alan) AM RAESAAE, RHRIET RMA A Pk IR: RARER SR GL WT MH REL BH de MK, FAH RG: TU SA, AR, ETAT HEMT KA. RAZ, FAA, ARERR, TURRET LEA HE, a OR Re B3It KRM, MALT 31 BOA. AK, FACKBLALTMA, LHBRSEAOMAE, ERHARE, H DTC AR A HS 3.4 RAD: Twit RELROKE-TRA, BRA THAR, RNBBOW EMT PRE RAE ih, ROGKANCARAER LE). EAMKEMREL A, RBM A TCP/IP HL TAM RE RR — TEAS. MRE KRHA TRH, RATS TF Bp i—t: 8 WEL, TRA ERA (ARRAS, HAE) 0 © HR2: —TH, MPH. ° BH, HMA STH. © getstatus() © encrypt () © transmit () © WEI: HPS, BTR PMAA BAH. © Hardware. getstatus () © Encrypt. enerypt () © Transmit. transmit () * Hardware. getEncryptSendStatus () iI LM =hW. © ta: WTS (TRS ATE, RR RE — TRB) SBA AT BARRELS Ty BIL PEAS” NC. MMT, ERE MBAS, HT LAT A AS PEE tT REAR MPR BP, UR A ee em AR AY WR (edn, HAUTE), BESS ERR A RE LRA — FMR PACS By Rs FAY PT ARG, Me RAE Bo CAME, KER A RTH 2 BA. HE, KEMASRHARI, — RA AQAA 2 MAW 4. BE, DATE A RRB, BTU TI RAI RRMA. WHA? AAT AMIK Enceyption MAH Be Lh BR I PI PE SEM HWE? Xf hardware 8M Transmit RAKBE MMM, AS AVY RB TDA MAREFE ACM ER, HASTA AGATA] LAO RAE, WBA TEE 32 AH RK HE HOR BOHN Re RA. MSE TA — PRES (BANE T RRR PF LD EY EASE) AA, BBS A A ABT TAF LEAP, ATU RERA: A, BARBRA RT, Watt A Ra SE IT EB” eS, TABATA AA, HS ET EATER, FRAT PRP, BIRNEY). i, A) A te A HB, WTRARARY. BREW RE, EMR TRAM DAR EMR, OK TEE — (SPR PE TPE. LC, AT ET, eR OE PA ILAY TCP/IP HERE, HARE, ROR ETA RTE A MRS BE, RESP PAR GET, SHRP HMR) BSH, BORER 1, RERMASAAS WEN, HE, MMAR BEBE A, HBA RHE AT LL Ot AEE LH TE RR HE ENE: ROFREELETRRMA— TH, MR EA Ko ELTA H, BPA OMB AA SMA, RUE WAR TE RAT RA. 3.4.1 BITE TSE TARA, MAME AT, RANT ERE, AS. SE ROR AU 2 Oy BEAD RE BOE CE REE 1 BBG Aie, Ro PEF MARE IGAT RIT, RRR BSH, WHORE ARMA RT RIT WOE HEE 3.4.2 BAER RERMKT—THRORS. WHARF ASR TE? REL, RIT AAERHAS, ALAR, PERMA BEKRAR RRM), RETA AMEBKARN, REAARDT SAY R AAR AEEF RAL, HRA BRATHRBWHER HLL, MGA LE— MONE (RNLRAAM MEHR, MAR AK Bt, RRB She (ASPCA) ARRAN). INS AT, tose HIF RGAH, MRA 33 FOWSERCER KE, ECSELSAK. Ril, URALEMA-TRAB BKM, RE AAP F ERI, MARES -HGEAL, AACRAM. RERMNMARNS RY BARA ETEAP LMR. (REKREKAZH!) WHARF ARTA? AWE RE PEA Ste BB HCG ow AH Hk RAMA “switch EW” (swith creep) MMR MR HIE. GRATE OS — 1 switch 18a) RIE A TA. A+ switch AME. 85 57 7 switch 58 0) AOI Ae, AB A 7h UA RAL BT — aE A fA RE TL BRS TET A RABE RO SH RE RIB He, RA, LAE HAE EAST FE OB AE) UAE A Sa EE WRIARME. RHRCA HOR, MATRA AWA, , —AT AT HL, ET LSE AR UAB OA HE AE Ward Cunningham 9 22 BERL ¢ “JR fe Ae AR A RHP LH J 2 0B id SR RA BO ARHS, LAREN Dn AE AAT PRONE AN HG BE BODIE.” 3.5 —PRAFRMRETH BS RAEN XK PRA, MAC TRARR BWR IK. CAR AR AD BH ATI. WRAITH HE) ROT REM, IFS oR, WHR, FEARS, WR RAM BER, RMR ASHER (acceptance testing) AVF HTH. PRT, RAR A AE BF Dy te. PAPER MGR HEAP ( Framework for Integrated Testing, FIT) BOARS, FE CMM TR OS Ad A ALARA TY RAG TR ATA ta LE — PR ese UE) SER. A HT, PRS RABE A WG, RTFM AHL T Rick Mugridge 8) (FIT for Developing Software) —$3 (XFFRA FORGE, TETRA RB, ARB AAT SO TERTIARY), HERA SE HL SAREE TTS Be EN BH OR AE TMA ST AZM PERR. BRB AAS (ARS TR) FPA ee eR 3A 2006 Se Tera HO RR RL wT, HRD RAM DMM _ EX, REA AEB AT BA HO 2a a PF $A A SA (PI MICE, HS DIT). WATT TE AMINE TPO OD PF elt TOME CEA, TER, PRA TEIH) . MAERUA A AC I I By IN, RK, BE PR PRAT AG BA A Hl EM TA. LTR, A TCM REAR a CU BR HF 8 A SOK Hil 5 {E Christopher Alexander SR (M42, REB—TP 7 UAL A LAT HAAY, Alexander (t) SM, ART MALU SO SORA R. RMT, RMR ATRMA, EMBERS, MMA, HRA ARR (EP SO) RW Rae TE TEAS (SoH RHE BIW TTA) - CEFR HRA-BATHERAHARAPY AE ORB BEN. EMG NE, BAP ALA. GEC Alexander (MIE, KROME MATER, WA PELEA AAT RB SD 3X FeO A IC MM BR Me HE RR (I TO SARE HES Ae, UMS RA TEE ETH IG, RST ERLE. VP RY CLF Ee By AR oh SPL tH AUIFH (Test Driven Analysis and Design and then Development, TDADD) ,. BREARERXEMRRET? AMBRE. LRMRE ah. ETT Ro RAE ATI SP RB. ° RTH ETT HRMS HE). HR CHITA, HORT RATHER) RAT (Berita ane) PEALE, MATH ATL SHUT RRA R OY. IBA ITT RI-S HE At A? SWARM RAB, PW, RTM LAF mt ee. HA A salir REM EHS aha AEBS SATB DTI SR, RTA MT CEM, RNA MERGE, AER © Alexander, Christopher. (The Timeless Way of Buliding) . New York: Oxford University Press, 19795 RIF KGAA, WHA 35 MEH ESAT RCA APES) . WM BA — i RE UE RE BURL, WAR AMT. PRAT AB Si, RMA TSDADD, KERRIES ML TDD! ARE, ARH, TDD IAI PE UES TDD kT AR ABLE HT TBERR EE, SY RANS| JA TDD ABSA, FLAT MP AR TEMG, TSDD) FREPRRRT ANY (RWI, TSDADD)? y TERA, TERE AURAL, ALAC IK HH FF BZ (Acceptance Test-Driven Development, ATDD) © (475% 7 MRAM IG) HIG CAR GTA EDI TSDADD (ANP). RATT UTDD eR RSE RSBACMWRMLR, WXEL, BFTAR CRIM) Dit Sele Re hae FUER LAB. ERATE BS UE ° He MR. © CET OB Ak Se BP © EMA ARH. 3.5.1 BRIT TLR AIL —F Alexander (RIX, Alexander WBA FBR (EP K) WV, ATLL LEARER A BEAR UR OTR Ht HEE AOS HE, SEPT DS RA A (iA — AD. FATT MAH TAIM, 40H Alexander ft ( je RR Fo RRRATR SRE ACEH, AH ARSS DORR RA Pa, HM RE RMREE TEP H. RATT UA OA ATDD OT DL SCH WED UTDD BER AD Bet, Fy UTDD ASHORE ee, Fee ile 3.5.2 BMI AREA BE LIE SME ACE BE CM, EE AT NTE A A FL OR OE, BCT Ag RR STE ATL BAER. PSUR TRE THE. UTTAR SEL. ASC I HAR AE ARNEL. HELE. BADKONRMA, Pa RRA T eS MARRY CEE BESN) , COAT Ce RR OUI A, Bb IR ase S ATDD 4 Dan North (FF ARATE ( Behaviour-Driven Development, BDD) +436, (KM Ate ma ey MEA. 36 BHD RAG MAM DADE, MAG MM MTRME ], ARMM RT RRS. 3H LY YIM A BSR AT SS LES A, a PAASAAMER., bh FACMRIRR KES, MEER UTDD ate ob ae BETTE IAT). LAE ATDD Ht, HAMAR KES, BAY ‘BA FUSE FB Ba Fe ARH Dh BE AVE RR CR A OH, (AB RR AY A HY) » 3.5.3 PRS At MEERA BRAAA RT ERR RED RAL — LM THE HOMER FER TH RAGA a] , PBS eM hn TR ESE HE. EAA I TB ae WS ESR AG SAO fe], CNL AT BG SFR GE TE TE AR APT A TK FEA WT PBS TEAL, PY PAH BR ATTA Fa A 3.5.4 Re AOR FE BN PE As A EE TR (Han, OE PRA AE), BRA Mat EEA MON R, FTL AR Ar IE WA RADAR AE SER TE Re Se LH RE. (LA AML (MER —B), WA RE TO ER BRAD bE BER ACE ATL FE Ho, A EM, BRA PABA EETE te SU RIE EAT LTT REED Alan Shalloway &FaxtweEH—TER LAK, ANBAR AE RER, ATRARBBLHARLAT BR HARRS ET, RE-ELRARA-ARAWRHAA, RH, KSMMAMR ARB BAL, ALR RMA A (Kato) RATA. A AHI ORD/HA), RO LHAERRER PRD ER HAR, Boil ot oa AMPERAHCARHHAAT HE FKL, APRA LMAM AR HM, Net Objectives #4 #3F Eik.A EMAL Eth, AMRE SA ALPA- Rite eK WRIA CHR AR TIE). Rinse, Sapa Aw CL AMIN) MEE FAA HF. HIF KBR, NRA FT 3.5.5 RA BISS RN, MEHR MAS AP — A RA, PRANK, RHREPEMASAOAE, RMBEUR AMER. HE, h APRONS EUR INA LE ARI, RU, BERR RRA BE CE Pn TAL BER A), SZ eB AR TE BE EN TA A RT ERO BN 3.6 he FEARED, ABD T PSR IE OT: LAF SEA He A GH PEN TDD, (HX BARA HR IN UTDD) AWE AT RFR BY He iE Me kT i 5A 7 ik 8 RE (RV ADD), RATHRRARRTMWR, BSW, Rew eB, AAT AA AME. RTS RIN AD HA. WT Tea MAY bP ee AUG, BARR FE AEE ITA A TAR AE A,B RBS ANE AY To OR BAL ANTE, TERRE ATE. 55 4 HE | Chapter 4 Shalloway #1 Shallo RHLH, BABAR ORY RA” RALE, RRART ARPA NRT AARHHH, RARARTHBFHLAHA, CARA, AANMREKETRPRKA ROLE, RE, KAGEE, FAHAZRBKRD SE? RBH HORSE —- PRE FR REP) ANAMA EKA, AND, Shalloway HF RHR K FH N-1 ARF RERGBH BBN AFRRARMACHAHR, CRUMTAAMR HH RSE he, CREME OL, R-RHKARAMAA SEIS H, GRAAG “HEA”. RABPARLS RHA, TMIAT, ARAM, AMARR, Ab, Ate RLERLA. GM, KRAAABFREM, PRERAHKESTAHEH, ANKE a HHS), PRN PSRARR (LHS, AMAR PHRHALS). XM Shalloway AMBRAH 4 ARB, WEA —A ALGER MA Shalloway HM, ik — RI ST AB HAN AER Shalloway Mi HAHA AE, RAR RRA 58 R58.) Shalloway 8) TvAi6 MHA Kent Beck #4 “-ABRA—AQM" HEM Shalloway MMH —A Ak (MEL, UN-HFT 1), RARE Ai, BRB Toe if ZL Shalloway KM RAH > tk, MAME - REAR TIE, HER, LAMN-RATM-FRAADH RR, AA PATHE BAR EN, toRARKT , AA] Rto4y Me Hi 1H Shalloway RE, 4.1 TRAE RARER BARR, KERMA EMRE A, MME a STARVE Shalloway EMM, TUBS RAHA TEA Shalloway AA, SFL MAMI — AR HAF Shalloway +&)4Shalloway API 39 HARM. RAMEE, HAMA AM TAMER T Shalloway JU , ASAP SEPT rH BY re. 4.4.1 SARA SIL ER GTA, ta TE — 9 ER FD SMRELA RM, APR RE RBM Tier BAA — TT, eT PUREE) — 70h 50H) PR AR EH IR OE, ORE BT LE 4.1.2 “WER” BERS SEAL MERE” APRA AR A, A CR TF, Tdi ets FEE (aT A ER” SBI ay ABs GM FT SEI AS RATA WO ES GH BG” BSE th A — IT JAD SL ys —R FA det ines BE consts MAA WATT SR, RR a 4.1.39 Hibew YR, BHRLHORMNTR, WHEAT H CLM, “RABI” Me RE BIRGER”), ARSAAARLM, RARMAESLE MSM K, HARA BREN, PR BE ROE RE) ARMA MT PR IkL—K, RA TR 0 4.2 BHELLR TART AB LCA ATLA SR EB SR SE ARE LSE BN TE AR OE OE” LA AAD BA ALTE”. RAE, TCR TT RE eM, PIE A A BRT, FREE ABAD HE A BR J RS PE ST RHEL, REALM, SEHR RR RAE AE HHA YEA MLR AT LAR ML CE. UN, OAR ERK, SALES, TEMS, BARI “S” RM, TREO, AS BR MERE” Ber, 40 BE RAGA DAM FENG ARAB BAR, do RAT AT A, A Oh RE ea ee A HAH, RRAL PR. URES, ROKARAMRAAH REX, TRILP RA T A. N.S PTARKS WAAR, RP AT I A ERT AEE, HB MAA ATM. HR, RATTAN TRAE ZORA. MATA, IF ARTA TCR ALA HAR AE AT SEAS, AL, RTA ERE TRAE RT Shallo- way HRI A TEAR» ASSES AR WB IR Shalloway FM AY TEAR IAA AT LAPEER” oH SN, a a HE BY HR, TAT BRERA, RAE RATE TRAIT. Be, FAB Shalloway FM. NAA? MRR TR BONH, HRS REE PE FMT OWA, VRS A MEM A, YR, ROR BR SRST AT AY AE , (ELBE AG OB a RUBS BE ER TA] TRAN Ds A He FH a SCP] FE TB SECO BY SH 4.3 Bh TR ERA VM TCR ETT AE LG, EA HAG MAIR (PR a A OR Ee, END? RARE ARATA, MERBASIAR ABE SAM. Glin, B—- FRARSA—TREORWE GRBRARARITR) AR—MbW, At aoe T A CRB EMR ENGR TCR), MMRMRAT RMA, BA RABATRM? REE —FEXIRBRG LEM OCARINA TR. BOR BRIA MT — aA fl MP A, HET AB A A Bs XBAI. MUTA PRE AS 9 TU ARE? GX BRALFE (Design Patterns Explained: A New Perspective an Object-Oriented Design) f4/$% 19 # “The Template Method Pattern” (#4Z 7 UEHESt) , REAL FERIA) THER HBOS) PAA LIRA ) P. S RTAATNAHAAAT ARERR. CSTE TIT Ree, RMT Ae RARE, PU, LOAM T Shalloway MASI. FAX Shalloway 8] FeShalloway MR! — 41 4.4 BiRRERO RAN AE RNC, ARM ARRWER AM, BTR, AERA RES PLE UGH MR, HORI RE RCRE © HBG (Strategy) MRM S MALIA. © BR (Bridge) MAAMS HR SB I A HT. © BURA (Template Method) ESCA] — ALAR FAA LCE Ro © REMGAE (Decorator) BEE — PAE A AT BAS A ASIF IDE BE 6 {Design Patterns: Elements of Reusable Object-Oriented Software) (Gamma Erich 4, Ux LW, Addison-Wesley HAR, 1994) RATPRITEIN SE HEH, ARRSD BETTER SR ME ER et EAC MEAT GS, BR AER ARS 1M wt Be HH AB HY SPR BER BA Sh RAE, CAP BED TTA, BOR AT WA st I A PAS ARE. BE SR — a BA Ec, AE ATT tT I a BITTER IEA» EAN, SRM RAM A ET A ALS Beh Dr I Ah A AM — AEM ATR, ME AH — Se TE ZY RRR AAR A — (8. RRM TRKA. BACARRA, RATA R A, RR RE RE BRARE A. ON, MRAP, PRR OR ELEM HE NS We ABE FARIA 4 EO, PRA AR aR 4.5 RDAFARARERABHWM MA “1K” KBR AEE BRA ASE BE, — TERE FRIAR AE ATT eH Be A HUE Ta HRS AR BEF, KERAD, HM MRABAM EE FRNA . MTT, HSL RA ERYIBY SE A> 48 $e AAT AEA A Ta AR EN — AE AJ, TE SE HATTER T Shalloway DAML FRR ATT AS ERG LR Tr a Be A GE Hr, RS fat HRA — MBO KB, EF BIRD ARR T Shalloway RUM, Fmt — 7a ae SRIF. REDD BUNT —* Encrypter 2. ARH AR BRA) AY BL, FBS Ay A 42 FHP RRMG DMM SETF, AUES MADRE public class BusinessObject ( public void actionMethod() ¢ Anotherobject aAnotherObject= AnotherObject .get Instance () String aString; String astring2; J/ Other things Enerypter myincrypter= Encrypter.getEncrypter (); “ myBncrypter.doYourstufé( astring); “ eAnctherObject ( myEnerypter) ; “ myEncrypter doYourstuff( astring2); ) ) public class AnotherBusiness0bject ( public void actionMethod( Encrypter encrypterTollse) ( 11 Other things “ “ encrypterToUse doYourstuff( astring) ; ) ) ORME , RE BEA encrypter. RARBA BA See, RI 11 Other things Enerypter myEncrypter= Encrypter.getEnerypter () ; ATER: Encrypter myBnerypter; Tf (<>) myEnerypter= Encrypter.getEncrypter (); WBA, BARA, DAA TAA, ALMLGTAT encrypter RAREAVTAIE « if (mymnerypter != mull) myBucrypter dovourstuff( astring) ; RI, RTOS EBLE AL. RIK A, Shalloway HME. AbE— A, 4% Shalloway #8) F Shalloway MAY — 43 Shalloway 24:50 {8 —-VHEIC AE, “RUF ALT PAS Ty BG E.R WBE AR FH AR Bd BF ARAL OMH ” BFE, RONM4MDERTTA, HA-TTORBIERS y null AHR © ARATE, EN aE] FF hh HH BLAY getEncrypter HEF 6 WI Ji, ik Encrypter fH) getEncrypter WU EMR: //ialenceypter derives from Encrypter but does no encryption TE (>) setura new nul lBncypter BFE, BATE encrypter HBA ATA NE SP OP TERA H null A LB H:—BE it & T Shalloway HN, MEBR T ® HeRTS Gene crypter WRZ AMMA TE. WEGELE—F , APA RLM AR (Null Object) BX. RAV TEE MER BR BEA tk ALTE BAL Jy mull IBLE, PR ABA ALAR FS A EE RGR HH Be RW BER EUR TAF Oe EE, Bk BM — PO ST OY En- crypter RM, WHE ALA 2y null AY4 SE ACE BE MEAS ch TT fe OY Rt A Hh, LTE RAD) N— HERA ME KAA, RAS Be EM. RAR (LAL getEncrypter Wik, FP MR ARS Gi Encrypter MR, MARANA MEA PRR OLR HA MBL myEncrypter MR. 4.6 TaENHKRBRER HA BB RNB RARE FURS MA TARR, RERESBA, WRATH PREZ LARA. —ALTUAR HSE, WAR OY BE Se Hi BL A — bh Sh He Bee IB A, Fh EH WHERE. MRE, RAMEE. REARS, AAATRRRER ARE tb A RTT. TER, TAR SIDA RAR, MURATA PR TER A, BAR Ba EE te WS, BFA 4-1 EE. ETRE (service) RMA AMS FA, HE PARAM (PIN, KAMA). © FA HORN Ast, iar

You might also like