Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
SOLID and Composition Root
sztk1209@gmail.com
April 23, 2021
Programming
0
26
SOLID and Composition Root
sztk1209@gmail.com
April 23, 2021
Tweet
Share
More Decks by sztk1209@gmail.com
See All by sztk1209@gmail.com
Hello, Swift Concurrency world.の振り返り / Looking back on Hello, Swift Concurrency world.
shiz
0
56
Hello, Swift Concurrency world.
shiz
9
3.5k
The First Step of Swift Concurrency
shiz
2
950
Dependency Injection
shiz
1
51
Swift Concurrency (随時更新版)
shiz
3
410
Swift Concurrency 3
shiz
1
32
Swift Concurrency Talk 3
shiz
0
150
Swift Concurrency Talk 2
shiz
0
49
Swift Concurrency 2
shiz
0
63
Other Decks in Programming
See All in Programming
C言語でメモリ管理を考えた話
hkawai
0
190
質とスピード(2022春版、質疑応答用資料付き) / Quality and Speed 2022 Spring Edition
twada
PRO
28
18k
Let's make a contract: the art of designing a Java API
mariofusco
0
160
Swift Concurrencyによる安全で快適な非同期処理
tattn
2
320
dbtとBigQueryで始めるData Vault入門
kazk1018
0
180
Loom is Blooming
josepaumard
3
540
Explore Java 17 and beyond
josepaumard
3
650
Milestoner
bkuhlmann
1
200
New Relicを使った Observabilityの実現方法と活用例 / gocon 2022 spring after talk
budougumi0617
0
1.1k
Get Ready for Jakarta EE 10
ivargrimstad
0
2.4k
Better Reliability through Observability (and Experimentation)
ksatirli
PRO
1
260
プログラミングを勉強したいと言われたら
yuba_4
0
400
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
12
890
Support Driven Design
roundedbygravity
86
8.4k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
103
16k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
15
910
Designing for humans not robots
tammielis
241
23k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
498
130k
Faster Mobile Websites
deanohume
294
28k
GraphQLの誤解/rethinking-graphql
sonatard
24
6.2k
Creatively Recalculating Your Daily Design Routine
revolveconf
205
10k
Web development in the modern age
philhawksworth
197
9.3k
A Modern Web Designer's Workflow
chriscoyier
689
180k
Ruby is Unlike a Banana
tanoku
91
9.2k
Transcript
"QSJMTIJ[ )PXDPNQPTFDPEFT 40-*%BOE$PNQPTJUJPO3PPU
8IFOXSJUFDPEFʜ XFOFFEUPDPOTJEFSNBOZNBOZUIJOHT w*TJUFBTZGPSPUIFSQFPQMFUPVOEFSTUBOE $BOUIFZDIBOHFJU XJUIPVUGFBSXIFOFWFSUIFZOFFE w*TJUFBTZUPXSJUFUFTUTXJUIPVUUPPNBOZTFUVQ fl BLJOFTT
%PFTUIFUFTUSFQSFTFOUUIFTQFDBOEWBMJEBUFJUQSPQFSMZ w8IFOUIFTQFDJTDIBOHFE JTJUFBTZUPBQQMZDIBOHFXJUIPVU DIBOHJOHNBOZDPEFTBMMPWFSUIFQMBDF IJEEFOTJEFF ff FDUT w5ISFBENBOBHFNFOU 0CKFDU-JGFDZDMF 1FSGPSNBODF BOETP POʜ w$PO fl JDUT 4DIFEVMF%FBEMJOF BOETPPOʜ
5PTPNFFYUFOU XFOFFEUP DPOTJEFSUIFN#VUDBOXF FBTFUIFTFXPSSJFT GFBST QBJOT
-FU`TDPOTJEFSJUTUFQCZTUFQ
8FBSFDSFBUJOHOFXBQQ
4QFD w4IPXJUFNMJTU w'FUDIEBUBGSPNSFNPUFTFSWFS w *GQSFNJVNVTFS DBDIFEBUBPOMPDBMTUPSBHFBOETIPX JUJGGBJMUPGFUDIEBUBGSPNSFNPUFTFSWFS w *GOPUQSFNJVNVTFS TIPXFSSPSJGGBJMUPGFUDIEBUB
GSPNSFNPUFTFSWFS w#VUʜJGGBJMUPGFUDIEBUBGSPNSFNPUFTFSWFSGPSUIF fi STU UJNF SFUSZUPGFUDIEBUBGSPNSFNPUFTFSWFSPODFBHBJO
0,
GFUDIGSPNSFNPUFTFSWFS *GQSFNJVNVTFS DBDIFEBUB *GGBJM SFUSZPODFBHBJO *GQSFNJVNVTFS DBDIFEBUB *GQSFNJVNVTFS MPBEEBUBGSPNDBDIF *GGBJMUPMPBEDBDIF
TIPXFSSPS TIPXFSSPS
%POF🎉
ʜ
8IBU`TXSPOH
4UBUFGVM4JOHMFUPO 5ISFBENBOBHFNFOU -PDBM4UPSBHF
8IBU`TXSPOH w*U`TRVJUFEJ ffi DVMUUPVOEFSTUBOE "UMFBTU *DBOOPUTFFXIBU`MMIBQQFO JNNFEJBUFMZ w5IFSFBSFNBOZIJEEFOEFQFOEFODJFT EJSFDUVTFPGTIBSFEJOTUBODF
XIJDIBSF IBSEUPDIBOHF w*U`TRVJUFIBSEUPUFTU 6TFDPODSFUFSFNPUFEBUBMPBEFS /FFEUPTFUVQBOEDMFBSMPDBMTUPSBHFTXIJDIDPVMEDBVTFQSPCMFNTXIFO UFTUJOHJOQBSBMMFM w*GUIFSFNPUFTFSWFSTQFDJTDIBOHFE OFFEUPDIBOHF6*DPEFFWFOUIPVHIJU`T OPUSFMBUFEUPJUTTQFD w5ISFBEIBOEMJOHNBLFTUFTUTVODPOUSPMMBCMF w.BOZDPO fl JDUTDPVMEIBQQFOCZDIBOHJOHUIFTBNF fi MF
-FU`TJNQSPWFJU
GFUDIGSPNSFNPUFTFSWFS *GGBJM SFUSZPODFBHBJO *GQSFNJVNVTFS DBDIFEBUB *GQSFNJVNVTFS MPBEEBUBGSPNDBDIF MPBEDBDIF *GGBJMUPMPBEDBDIF TIPXFSSPS
"MJUUMFCJUFBTJFSUPVOEFSTUBOEʜ
4UJMMʜ w)JEEFOEFQFOEFODJFT w%J ffi DVMUUPXSJUFUFTUTXJUIPVUUPPNBOZTFUVQ fl BLJOFTT w8IFOUIFTQFDJTDIBOHFE OFFEUPDIBOHF
VOSFMBUFEDPEFT w5ISFBENBOBHFNFOU w$PO fl JDUT 4DIFEVMFEFBEMJOF BOETPPOʜ
-FU`TDPOTJEFSNPSF
0CKFDUPSJFOUFEBQQSPBDI
'PS7JFX 7JFX 1MFBTFHJWFNFEBUB UIFO*TIPXJU *EPO`UDBSFBCPVUUIFXBZUPEPJU😁
(FUEBUBJOTPNFXBZ
4QFD -PBEEBUBPOMPDBMTUPSBHFJGGBJMUPGFUDI EBUBGSPNSFNPUFTFSWFS 🤔
$PNQPTJUF1BUUFSO IUUQTFOXJLJQFEJBPSHXJLJ$PNQPTJUF@QBUUFSO 5IFDPNQPTJUFQBUUFSOEFTDSJCFTBHSPVQPG PCKFDUTUIBUBSFUSFBUFEUIFTBNFXBZBTB TJOHMFJOTUBODFPGUIFTBNFUZQFPGPCKFDU
$PNQPTJUF1BUUFSO IUUQTFOXJLJQFEJBPSHXJLJ$PNQPTJUF@QBUUFSO
(FUEBUBJOTPNFXBZ (FUEBUBGSPNSFNPUFTFSWFS ˞UIFSFBSFTUJMMNBOZDPODFSOTCVUJHOPSFUIFNGPSOPX
(FUEBUBJOTPNFXBZ *GGBJMUPGFUDIEBUBGSPNSFNPUFTFSWFS USZUPMPBEEBUBGSPNMPDBMTUPSBHF 5IFSFJTOPDIBOHFPO7JFX
4QFD $BDIFEBUBPOMPDBMTUPSBHFBGUFSGFUDIJOH EBUBGSPNSFNPUFTFSWFS 🤔
%FDPSBUPS1BUUFSO BMMPXTCFIBWJPSUPCFBEEFEUPBOJOEJWJEVBM PCKFDU EZOBNJDBMMZ XJUIPVUBGGFDUJOHUIF CFIBWJPSPGPUIFSPCKFDUTGSPNUIFTBNF DMBTT IUUQTFOXJLJQFEJBPSHXJLJ%FDPSBUPS@QBUUFSO
4BWFEBUBUPTPNFXIFSF
%FDPSBUPS1BUUFSO
4BWFEBUBUPTPNFXIFSF 4BWFEBUBUPMPDBMTUPSBHF ˞UIFSFBSFTUJMMNBOZDPODFSOTCVUJHOPSFUIFNGPSOPX
1VSTVJUSFBEBCJMJUZ
%JTQBUDI2VFVF %PFT7JFXOFFEUPDBSFBCPVUJU
%FDPSBUPS1BUUFSO "GUFSMPBEJOHEBUBBTZODISPOPVTMZ DBMMCBDLPOUIFNBJOUISFBE
'VODUJPOBM"QQSPBDI *GXFVTF$PNCJOF 3Y4XJGU XFDBOSFQMBDFEFTJHOQBUUFSOMJLF EFDPSBUPSXJUIGSBNFXPSLGVODUJPOT
"EEJOHPUIFSTQFDT
4JOHMF3FTQPOTJCJMJUZ1SJODJQMF ItemsServiceWithFallback ItemsServiceMainQueueDispatcher CachableItemService RemoteItemsLoader LocalItemsLoader &BDIDMBTTIBTPOFSFTQPOTJCJMJUZ POFDIBOHFSFBTPO
0QFO$MPTF1SJODJQMF *NQMFNFOUBUJPO View 1SPUPDPM *OUFSGBDF *NQMFNFOUBUJPO *NQMFNFOUBUJPO
-JTLPWTVCTUJUVUJPO*OUFSGBDF TFHSFHBUJPOQSJODJQMF ItemsService CacheStore /POFFEFYUSBJNQMFNFOUBUJPO -JTLPWTVCTUJUVUJPOWJPMBUJPO
%FQFOEFODZ*OWFSTJPO *NQMFNFOUBUJPO View 1SPUPDPM *OUFSGBDF *NQMFNFOUBUJPO *NQMFNFOUBUJPO
&BTZUPXSJUFUFTUTGPSFBDIDPNQPOFOU
-FU`TMPPLJOUPCSPBEFSBTQFDUT
.PEVMBSJ[BUJPO $PNQPTBCJMJUZ FYUFOTJCJMJUZ SFVTBCJMJUZ UFTUBCJMJUZ 0SEFS -PHJO 4FUUJOH 6*
6* 6* $BDIF $BDIF $BDIF "1* "1* "1*
5IFOʜ 8IBU8IFO8IFSF)PXEPXFDPNQPTF UIFN 🤔
$PNQPTJUJPO3PPU
IUUQTXXXNBOOJOHDPNCPPLTEFQFOEFODZJOKFDUJPOQSJODJQMFTQSBDUJDFTQBUUFSOT IUUQTTQFBLFSEFDLDPNTIJ[EFQFOEFODZJOKFDUJPO 3FBEJOHNFNP
$PNQPTJUJPO3PPU l8IFOZPVXSJUFMPPTFMZDPVQMFEDPEF ZPVDSFBUFNBOZDMBTTFTUPDSFBUFBO BQQMJDBUJPO*UDBOCFUFNQUJOHUPDPNQPTFUIFTFDMBTTFTBUNBOZEJGGFSFOU MPDBUJPOTJOPSEFSUPDSFBUFTNBMMTVCTZTUFNT CVUUIBUMJNJUTZPVSBCJMJUZUP JOUFSDFQUUIPTFTZTUFNTUPNPEJGZUIFJSCFIBWJPS*OTUFBE ZPVTIPVMEDPNQPTF DMBTTFTJOPOFTJOHMFBSFBPGZPVSBQQMJDBUJPO 8IFOZPVMPPLBU$POTUSVDUPS*OKFDUJPOJOJTPMBUJPO
ZPVNBZXPOEFS EPFTO`UJU EFGFSUIFEFDJTJPOBCPVUTFMFDUJOHB%FQFOEFODZUPBOPUIFSQMBDF :FT JUEPFT BOEUIBU`TBHPPEUIJOH5IJTNFBOTUIBUZPVHFUBDFOUSBMQMBDFXIFSFZPVDBO DPOOFDUDPMMBCPSBUJOHDMBTTFT 5IF$PNQPTJUJPO3PPUBDUTBTBUIJSEQBSUZUIBUDPOOFDUTDPOTVNFSTXJUIUIFJS TFSWJDFT5IFMPOHFSZPVEFGFSUIFEFDJTJPOPOIPXUPDPOOFDUDMBTTFT UIFNPSF ZPVLFFQZPVSPQUJPOTPQFO5IVT UIF$PNQPTJUJPO3PPUTIPVMECFQMBDFEBT DMPTFUPUIFBQQMJDBUJPO`TFOUSZQPJOUBTQPTTJCMFz
$PNQPTJUJPO3PPU w "DFOUSBMJ[FEQMBDFGPSJOTUBOUJBUJOHBOEXJSJOHDPNQPTJOHBMM PUIFSNPEVMFT DPNQPOFOUT w 4IPVMEMJWFBTDMPTFBTQPTTJCMFUPUIFBQQ`TFOUSZQPJOU PSBT BMTPLOPXO
l.BJOz w *TUIFNPTUDPODSFUFQMBDFJOUIFBQQBTJUJOTUBOUJBUFTUIF DPODSFUFDPNQPOFOUTGPSUIFBQQ`TDPNQPTJUJPO5IF $PNQPTJUJPO3PPUJTBOBQQMJDBUJPOEFUBJM5IVT POMZBQQMJDBUJPOT TIPVMEIBWFB$PNQPTJUJPO3PPU w .PEVMFTFYDFQU.BJOTIPVMEO`UOFFE$PNQPTJUJPO3PPUT BTUIFZ TIPVMEO`UIPMEPSEFQFOEPOBQQMJDBUJPOTQFDJGJDEFUBJMT
$PNQPTJUJPO3PPU 5IFJOEFQFOEFOUNPEVMFTPGPVSBQQMJDBUJPOBSF SFGFSFODFEPOMZCZUIF.BJONPEVMF
$PNQPTJUJPO3PPU "WPJENJTVOEFSTUBOEJOH w JTOUBNFUIPEPSBDMBTT JUTDPODFQU *UDBOCFQBSUPGUIF .BJONFUIPE PSJUDBOTQBONVMUJQMFDMBTTFT BTMPOHBT UIFZBMMSFTJEFJOBTJOHMFNPEVMF
$PNQPTJUJPO3PPU.FSJU 1BSBMMFM%FWFMPQNFOU w5IFNPEVMFTBSFJOEFQFOEFOUPGFBDIPUIFS 4P UIFZEPO`UOFFEUPCFDPODFSOFEBCPVU PUIFSNPEVMFT w5IFEFQFOEFODJFTDBOCFFBTJMZJOKFDUFEBOE SFQMBDFEXJUIPVUCSFBLJOHFYJTUJOHDPEF QSPNPUJOHDPNQPTBCJMJUZBOEFYUFOTJCJMJUZ
$PNQPTJUJPO3PPU.FSJU 5FTUBCJMJUZ w&BDIGFBUVSFNPEVMFDBOCFUFTUFEJOEFQFOEFOUMZ w$BOEPVOJUUFTUTGPSFBDIPGUIFNXJUIPVUFYUSB DFSFNPOJFT MJLFBTZODIBOEMJOH w"MTPDBOEPJOUFHSBUJPOUFTUTBOEBDDFQUBODF UFTUTTJODFXFDBOFBTJMZSFQMBDFEFQFOEFODJFT XJUINPDLT
DMBTTFT GVODUJPOT CZDPNQPTJOH NPEVMFTJO$PNQPTJUJPO3PPU
$PNQPTJUJPO3PPU.FSJU $POUSPMMBCMF0CKFDU-JGFUJNFNBOBHFNFOU w0OMZDPNQPTJUJPOSPPULOPXTXIFOBOEIPX JOTUBODFTBSFDSFBUFEBOESFMFBTFE w.PEVMFTTIPVMEOPULOPXXIFUIFSMJGFDZDMFTPGPUIFS NPEVMFTJOTUBODFT TJOHMFUPO USBOTJFOU BOETPPO
w*UTIPVMEDPOUSPMGSBNFXPSLTQFDJ fi DUIJOHT 6*NVTU CFIBOEMFEPONBJOUISFBE BEEAXFBLAUPBWPJE SFUBJODZDMF BOETPPO
$PNQPTJUJPO3PPU.FSJU 3FBEBCJMJUZ w$PNQPTJUJPOSPPUJTUIFTJOHMFQPJOUXIJDIDSFBUF JOTUBODFTBOEDPNQPTFUIFN TPXFDBOTFFBMM EFQFOEFODJFT NPEVMFSFMBUJPOTIJQTGSPNUIF DPNQPTJUJPOSPPUFYQMJDJUMZ &YQMJDJUPCKFDUHSBQI
w&BTJMZVOEFSTUBOEBCMFTUSVDUVSFFOBCMFTBOZ EFWFMPQFSUPDIBOHFJU BWPJEQFSTPOBMJ[FEUBTLT TJOHMFGBJMVSFQPJOU
$PNQPTJUJPO3PPU.FSJU "QQMZ$SPTT$VUUJOHDPODFSOTXJUIPVUUSBWFSTBMDPEFDIBOHFT wFHMPHHJOH BOBMZUJDT w&BDINPEVMFTEPFTOU TIPVMEOU OFFEUP LOPXUIFTFDPODFSOT w0ODPNQPTJOHQSPDFTT DPNQPTJUJPOSPPU
JOKFDUDSPTTDVUUJOHDPODFSOT w4PDBMMFE"TQFDUPSJFOUFEQSPHSBNNJOH "01
$PNQPTJUJPO3PPU *UEPFTO`ULOPXBOZPUIFSNPEVMFT *UFNT6*.PEVMF
4Pʜ )PXDBOJUCFDPOOFDUFEXJUIPUIFS NPEVMFT 🤔
"EBQUFSQBUUFSO IUUQTFOXJLJQFEJBPSHXJLJ"EBQUFS@QBUUFSO BMMPXTUIFJOUFSGBDFPGBOFYJTUJOHDMBTTUPCF VTFEBTBOPUIFSJOUFSGBDF
"EBQUFSQBUUFSO $POWFSU"1*SFTVMUJOUP7JFX ˞*ONPSFDPNQMFYDBTF DPVMEOFFENBQ"1*SFTVMUUP7JFXEJTQMBZNPEFM .BJO.PEVMF
"EBQUFSQBUUFSO .BJO.PEVMF
"EBQUFSQBUUFSO
/BWJHBUJPO $PVQMFXJUIDPODSFUFEFUBJM *U`TXPSTFJGUIJTDPNQPOFOUIBTPUIFSEFQFOEFODJFT *UFNT6*.PEVMF
/BWJHBUJPO .BJO.PEVMF *UFNT6*.PEVMF
-PHHJOH )BWFUPJNQPSUMPHNPEVMFBMMPWFSUIFQMBDF
-PHHJOH .BJO.PEVMF *UFNT6*.PEVMF
$PNQPTJUJPO3PPU%FNFSJU w/FFEEJTDJQMJOFUPLFFQDMFBOBSDIJUFDUVSF #SFBLJOH UIFEJTDJQMJOFMFBETUPNPSFDPNQMJDBUFESFTVMUUIBO CFGPSF w5BLFBMPOHUJNFUPBQQMZJUUPUIFFYJTUJOHQSPKFDU w*ODSFBTJOHDMBTTFT fi
MFT *UNJHIUJODSFBTFDPNQMFYJUZ w4PNFUJNFTOFFEQSPQFSUZJOKFDUJPO XFBLJGZCFDBVTF PGDZDMJDEFQFOEFODJFT
*OEJDBUPSTUPLFFQDMFBOBSDIJUFDUVSF w-JOFTPGDPEFQFS fi MF *OEJDBUJOHBQPUFOUJBMQSPCMFNXJUI NPEVMBSJUZBOEPQFODMPTFDBQBDJUZJOUIF DPEFCBTF *OEJDBUJOHXIFUIFSUIFQSPKFDUTJTXFMM
PSHBOJ[FE ˞"IJHISBUJPDBOJOEJDBUFQPUFOUJBMQSPCMFNTXJUIUIFBNPVOUPG SFTQPOTJCJMJUJFTBOEEFQFOEFODJFTWBSJPVTDPNQPOFOUTNJHIUIBWF
*OEJDBUPSTUPLFFQDMFBOBSDIJUFDUVSF w*OEFOUBUJPOTQFS fi MF 'JOEJOHFYDFTTDPNQMFYJUZJO DPNQPOFOUT 6OEFSTUBOEJOHXIBUJTIBSEPSFWFO JNQPTTJCMFUPUFTU
˞&BDIOFTUFETUBUFNFOUJODSFBTFTUIFDPNQMFYJUZPGUIFTZTUFN XIJDIDBOSFTVMUJONPSFTUBUFNBOBHFNFOUBOEBMPUNPSF EJ ffi DVMUZJOUFTUJOH
*OEJDBUPSTUPLFFQDMFBOBSDIJUFDUVSF w$POEJUJPOBMTUBUFNFOUTQFSUFTU fi MF 6OEFSTUBOEJOHXIFUIFSDPOEJUJPOBMMPHJD JTCFJOHTFQBSBUFEJONVMUJQMFUFTUT 4IPXJOHDPOTJTUFODZGPSGPMMPXJOHUIF TJOHMFSFTQPOTJCJMJUZQSJODJQMF
˞5IFSFJTNPSFUIBOPOFDBTFUPUFTU XFTIPVMEPQUUPDSFBUFBOFX UFTUBOEFYQMJDJUMZUFTUBOPUIFSCSBODIPGMPHJDJOTUFBEPGJODMVEJOHBMM UIFCSBODIFTJOBTJOHMFUFTU#SFBLEPXOUFTUTXJUINVMUJQMFMPHJDBM CSBODIJOHJOUPNVMUJQMFUFTUTXJUIPOMZPOFMPHJDBMBTTFSUJPO
*OEJDBUPSTUPLFFQDMFBOBSDIJUFDUVSF w$POEJUJPOBMTUBUFNFOUTQFSQSPEVDUJPO fi MF 6OEFSTUBOEJOHIPXDPOEJUJPOBMTBSFTQSFBE BDSPTTPVSBQQMJDBUJPO ˞6UJMJ[JOHDPOEJUJPOBMTUPNBLFEFDJTJPOTJOBMMMFWFMTPGUIF BQQMJDBUJPODPNQMJDBUFTDPNNVOJDBUJPOBOEEBUB
fl PXTCFUXFFO UIFMBZFST
*OEJDBUPSTUPLFFQDMFBOBSDIJUFDUVSF w .FUIPEBOEQSPQFSUZDPVOUQFSJOUFSGBDFQSPUPDPM *EFOUJGZJOHHPPEEFTJHOQSJODJQMFT EFWFMPQFSEJTDJQMJOF BOEDPOTJTUFODZ w .FUIPEBOEQSPQFSUZDPVOUQFSJOUFSGBDFQSPUPDPM PWFSUJNF
*EFOUJGZJOHHPPEEFTJHOQSJODJQMFT EFWFMPQFSEJTDJQMJOF BOEDPOTJTUFODZ ˞#SFBLJOHUIFDPOUSBDUUIFJOUFSGBDFP ff FSTBOEBEEJOHBEEJUJPOBMCFIBWJPSUPGBDJMJUBUF UIFJSUBTLTIPVMECFDPOTJEFSFEIBSNGVMBTJUDBOCSFBLOPUPOMZUIFJOUFSGBDF TFHSFHBUJPOCFUXFFONPEVMFTBOEDPNQPOFOUTCVUBMTPUIF-JTLPW4VCTUJUVUJPO 1SJODJQMF SFTVMUJOHJOBNPSFSJHJEBOEGSBHJMFTZTUFN
*OEJDBUPSTUPLFFQDMFBOBSDIJUFDUVSF w#PPMFBO fl BHTBTQBSBNFUFSTPSQSPQFSUJFT QFSNPEVMF *OEJDBUJOHXIFUIFSUIFTZTUFNDBOCFDPNF QPUFOUJBMMZVONBJOUBJOBCMFBOEVOUFTUBCMF ˞8IFUIFSZPVSDPNQPOFOUTBSFNBOBHJOHUPPNVDITUBUF
JOUFSOBMMZBOETIPVMETQMJUUIFJSSFTQPOTJCJMJUZJOUPPOFPSNPSF DPNQPOFOUTBOESFEJSFDUUIFDPOEJUJPOUPBIJHIFSMFWFM
*OEJDBUPSTUPLFFQDMFBOBSDIJUFDUVSF w1SJWBUFQSPQFSUJFTDPVOUQFSQVCMJDBOE JOUFSOBMQSPQFSUJFTDPVOUJONPEVMFT *OEJDBUJOHXIFUIFSUIFTZTUFNNBZ VOOFDFTTBSJMZFYQPTFJNQMFNFOUBUJPOEFUBJMT ˞8IBUQFSDFOUBHFPGPVSDPNQPOFOUQSPQFSUJFTBSFWJTJCMFUPUIF SFTUPGUIFTZTUFN JOUFSOBMMZPSQVCMJDMZ
*OEJDBUPSTUPLFFQDMFBOBSDIJUFDUVSF w$PNNFOUTQFSQSPEVDUJPO fi MF *OEJDBUJOHJGUIFSFBSFJTTVFTUFDIEFCUXPSL UPCFEPOFPVUTJEFTIBSFEQSPKFDUNBOBHFNFOU UPPMT OPUUSBDLFEPSWJTJCMFUPUIFXJEFSUFBN
˞*ODSFBTFUIFQSPCBCJMJUZPGEJWFSHJOHGSPNBTJOHMFTPVSDFPG USVUI MJLFBQSPKFDUNBOBHFNFOUUPPM XIJDISFTVMUTJOBMBDLPGGVMM USBOTQBSFODZXJUINFNCFSTPGZPVSUFBNBOEPUIFST
*OEJDBUPSTUPLFFQDMFBOBSDIJUFDUVSF w$PNNFOUTQFSUFTU fi MF *OEJDBUJOHQPUFOUJBMMZVOUFTUFECFIBWJPS *OEJDBUJOHJGUIFSFBSFJTTVFTUFDIEFCUXPSL UPCFEPOFPVUTJEFTIBSFEQSPKFDUNBOBHFNFOU UPPMT
OPUUSBDLFEPSWJTJCMFUPUIFXJEFSUFBN ˞4JHOJGZNJTTJOHDIFDLTJOUIFTZTUFNTCFIBWJPS
*OEJDBUPSTUPLFFQDMFBOBSDIJUFDUVSF w4FUVQMJOFTPGDPEFQFSUFTU fi MF 6OEFSTUBOEJOHJGUIFSFJTBOFYDFTTPG EFQFOEFODJFTBOEDPO fi HVSBUJPOGPSUIFTZTUFN VOEFSUFTUUPXPSL
.POJUPSJOHDPOTJTUFODZXJUIHPPEEFTJHO QSBDUJDFT TVDIBTDPNQPOFOUTIBWJOHBTJOHMF SFTQPOTJCJMJUZPSDPNQPOFOUTCFJOHEFDPVQMFE GSPNPUIFSDPODSFUFDPNQPOFOUTVTJOH EFQFOEFODZJOWFSTJPO
*OEJDBUPSTUPLFFQDMFBOBSDIJUFDUVSF w$PEF$PWFSBHF 'JOEJOHVOUFTUFEDPEFQBUIT ˞"IJHIDPEFDPWFSBHFNBZJOEJDBUFEFWFMPQFSTDPOTJTUFODZGPS XSJUJOHUFTUTBMPOHXJUIUIFQSPEVDUJPODPEF#VU JUEPFTOU HVBSBOUFFUIFBCTFODFPGQSPHSBNNFSNJTUBLFTPSNJTTJOH BTTFSUJPOT
*OEJDBUPSTUPLFFQDMFBOBSDIJUFDUVSF w'JMFDPVOUQFSDPNNJU 1PUFOUJBMMZVOEFSTUBOEJOHUIFEFWFMPQFST`MFWFMPGEJTDJQMJOF 'JOEJOHPVUXIFUIFSUIFTZTUFNJTCFJOHEFWFMPQFEJOTNBMMPSCJH CBUDIFT 1SFEJDUJOHBMFWFMPGTZTUFNSFWFSTJCJMJUZ VOEPDPTU
˞5IJTDBOTJHOJGZNPEVMBSJUZ MPPTFDPVQMJOHJOUIFDPEFCBTFBOE EFWFMPQFSEJTDJQMJOF"TNBMMWBMVFGPSUIJTSBUJPVTVBMMZEJDUBUFT UIBUEFWFMPQFSTXPSLJOTNBMMCBUDIFT GPDVTJOHPOMZPOTQFDJ fi D DPNQPOFOUTBOEBSFOPUXPSSJFEBCPVUUIFJSQMBDFJOUIFSFTUPG UIFTZTUFN
*OEJDBUPSTUPLFFQDMFBOBSDIJUFDUVSF w'JMFDPVOUQFSNFSHF *OEJDBUJOHXIFOPQFSBUJPOTQFFEJTBCPVUUPGBMM "TTFTTJOHJGPQFSBUJPOTQFFEIBTDIBOHFEPWFSBQFSJPEPGUJNF ˞"MBSHF fi MFDPVOUEFOPUFTUIBUUIFZDSFBUFCJHTJ[FECSBODIFT
UIBUDBODBVTFEFMBZTJOUIFEFWFMPQNFOUBOESFMFBTFDZDMFT QTZDIPMPHJDBMGBUJHVFBOECVSOPVUGPSUIFEFWFMPQFSTBOEJODSFBTF JODPTUTGPSUIF fi SN
*OEJDBUPSTUPLFFQDMFBOBSDIJUFDUVSF w3FDVSSFOU fi MFDIBOHFTDPNNJUUFEPS NFSHFEUPHFUIFS *EFOUJGZJOHXFBLBCTUSBDUJPOT ˞*OEJDBUFTBQPUFOUJBMMZIJEEFODPVQMJOHCFUXFFODPNQPOFOUT *EFOUJGZJOH
fi MFTUIBUPGUFODIBOHFUPHFUIFSNBZFYQPTFXFBL BCTUSBDUJPOTCFUXFFODPNQPOFOUT4VDIBGBDUNJHIUOPUCF IBSNGVMXJUIJOBNPEVMF CVUJUTBMBSNJOHXIFODSPTTJOHNPEVMF CPVOEBSJFTUIBU POUIFTVSGBDF TFFNEFDPVQMFE FHDIBOHF BOBMZUJDTBDDPSEJOHUP6*DIBOHF