Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SOLID and Composition Root
Search
[email protected]
April 23, 2021
Programming
230
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SOLID and Composition Root
[email protected]
April 23, 2021
More Decks by
[email protected]
See All by
[email protected]
TSPLのすすめ
shiz
1
320
Swift compiler 101 & How async function works
shiz
0
120
Swiftコンパイラ超入門+async関数の仕組み
shiz
0
370
複雑さに立ち向かうための ソフトウェア開発入門
shiz
3
2.4k
座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
shiz
5
17k
(非公開スライド追加)座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
shiz
1
770
複雑さに立ち向かうためのコードリーディング入門
shiz
35
15k
Swift Observation
shiz
5
950
Swift Reflection
shiz
1
310
Other Decks in Programming
See All in Programming
S3 を使うアプリケーションをローカル完結で動かすことに全力を注いでみた / Running S3 Apps Offline
contour_gara
0
390
プロポーザルを書いてもらう
pvcresin
0
280
AI時代に設計が 最大の生産性レバーになる 意図駆動開発とデータを消さない設計|Don't Delete Your Data or Your Intent — Design as the Deepest Lever in the AI Era
tomohisa
1
730
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
590
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
140
AI Engineeringは、AIプロダクトだけのものか? 〜AIがソフトウェアを作る時代の新しい当たり前〜 / No AI in your product. AI Engineering in your development.
rkaga
4
380
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
210
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
220
the container ship “Apple Silicon”@WWDC26 Recap -Japan-\(region).swift
shingangan
0
110
Welcome to the "Parametricity" 🏙️ − Generic だけど Specific な世界 −
guvalif
PRO
1
200
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
2
140
AIが無かった頃の素敵な出会いの話
codmoninc
1
390
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
225
10k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
270
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
490
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
450
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
630
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.9k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Designing Experiences People Love
moore
143
24k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.5k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
950
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
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