Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SOLID and Composition Root

SOLID and Composition Root

[email protected]

April 23, 2021
Tweet

Other Decks in Programming

Transcript

  1. "QSJMTIJ[
    )PXDPNQPTFDPEFT
    40-*%BOE$PNQPTJUJPO3PPU

    View Slide

  2. 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ʜ

    View Slide

  3. 5PTPNFFYUFOU XFOFFEUP
    DPOTJEFSUIFN#VUDBOXF
    FBTFUIFTFXPSSJFT GFBST
    QBJOT

    View Slide

  4. -FU`TDPOTJEFSJUTUFQCZTUFQ

    View Slide

  5. 8FBSFDSFBUJOHOFXBQQ

    View Slide

  6. 4QFD
    w4IPXJUFNMJTU
    w'FUDIEBUBGSPNSFNPUFTFSWFS
    w *GQSFNJVNVTFS
    DBDIFEBUBPOMPDBMTUPSBHFBOETIPX
    JUJGGBJMUPGFUDIEBUBGSPNSFNPUFTFSWFS
    w *GOPUQSFNJVNVTFS
    TIPXFSSPSJGGBJMUPGFUDIEBUB
    GSPNSFNPUFTFSWFS
    w#VUʜJGGBJMUPGFUDIEBUBGSPNSFNPUFTFSWFSGPSUIF
    fi
    STU
    UJNF SFUSZUPGFUDIEBUBGSPNSFNPUFTFSWFSPODFBHBJO

    View Slide

  7. 0,

    View Slide

  8. GFUDIGSPNSFNPUFTFSWFS
    *GQSFNJVNVTFS DBDIFEBUB
    *GGBJM SFUSZPODFBHBJO
    *GQSFNJVNVTFS DBDIFEBUB
    *GQSFNJVNVTFS MPBEEBUBGSPNDBDIF
    *GGBJMUPMPBEDBDIF TIPXFSSPS
    TIPXFSSPS

    View Slide

  9. %POF🎉

    View Slide

  10. ʜ

    View Slide

  11. 8IBU`TXSPOH

    View Slide

  12. 4UBUFGVM4JOHMFUPO
    5ISFBENBOBHFNFOU
    -PDBM4UPSBHF

    View Slide

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

    View Slide

  14. -FU`TJNQSPWFJU

    View Slide

  15. GFUDIGSPNSFNPUFTFSWFS
    *GGBJM SFUSZPODFBHBJO
    *GQSFNJVNVTFS DBDIFEBUB
    *GQSFNJVNVTFS MPBEEBUBGSPNDBDIF
    MPBEDBDIF
    *GGBJMUPMPBEDBDIF TIPXFSSPS
    "MJUUMFCJUFBTJFSUPVOEFSTUBOEʜ

    View Slide

  16. 4UJMMʜ
    w)JEEFOEFQFOEFODJFT
    w%J
    ffi
    DVMUUPXSJUFUFTUTXJUIPVUUPPNBOZTFUVQ
    fl
    BLJOFTT
    w8IFOUIFTQFDJTDIBOHFE OFFEUPDIBOHF
    VOSFMBUFEDPEFT
    w5ISFBENBOBHFNFOU
    w$PO
    fl
    JDUT 4DIFEVMFEFBEMJOF BOETPPOʜ

    View Slide

  17. -FU`TDPOTJEFSNPSF

    View Slide

  18. 0CKFDUPSJFOUFEBQQSPBDI

    View Slide

  19. 'PS7JFX
    7JFX
    1MFBTFHJWFNFEBUB UIFO*TIPXJU

    *EPO`UDBSFBCPVUUIFXBZUPEPJU😁

    View Slide

  20. (FUEBUBJOTPNFXBZ

    View Slide

  21. 4QFD
    -PBEEBUBPOMPDBMTUPSBHFJGGBJMUPGFUDI
    EBUBGSPNSFNPUFTFSWFS
    🤔

    View Slide

  22. $PNQPTJUF1BUUFSO
    [email protected]
    5IFDPNQPTJUFQBUUFSOEFTDSJCFTBHSPVQPG
    PCKFDUTUIBUBSFUSFBUFEUIFTBNFXBZBTB
    TJOHMFJOTUBODFPGUIFTBNFUZQFPGPCKFDU

    View Slide

  23. $PNQPTJUF1BUUFSO
    [email protected]

    View Slide

  24. (FUEBUBJOTPNFXBZ
    (FUEBUBGSPNSFNPUFTFSWFS
    ˞UIFSFBSFTUJMMNBOZDPODFSOTCVUJHOPSFUIFNGPSOPX

    View Slide

  25. (FUEBUBJOTPNFXBZ
    *GGBJMUPGFUDIEBUBGSPNSFNPUFTFSWFS USZUPMPBEEBUBGSPNMPDBMTUPSBHF
    5IFSFJTOPDIBOHFPO7JFX

    View Slide

  26. 4QFD
    $BDIFEBUBPOMPDBMTUPSBHFBGUFSGFUDIJOH
    EBUBGSPNSFNPUFTFSWFS
    🤔

    View Slide

  27. %FDPSBUPS1BUUFSO
    BMMPXTCFIBWJPSUPCFBEEFEUPBOJOEJWJEVBM
    PCKFDU EZOBNJDBMMZ XJUIPVUBGGFDUJOHUIF
    CFIBWJPSPGPUIFSPCKFDUTGSPNUIFTBNF
    DMBTT
    IUUQTFOXJLJQFEJBPSHXJLJ%[email protected]

    View Slide

  28. 4BWFEBUBUPTPNFXIFSF

    View Slide

  29. %FDPSBUPS1BUUFSO

    View Slide

  30. 4BWFEBUBUPTPNFXIFSF
    4BWFEBUBUPMPDBMTUPSBHF
    ˞UIFSFBSFTUJMMNBOZDPODFSOTCVUJHOPSFUIFNGPSOPX

    View Slide

  31. 1VSTVJUSFBEBCJMJUZ

    View Slide

  32. %JTQBUDI2VFVF
    %PFT7JFXOFFEUPDBSFBCPVUJU

    View Slide

  33. %FDPSBUPS1BUUFSO
    "GUFSMPBEJOHEBUBBTZODISPOPVTMZ DBMMCBDLPOUIFNBJOUISFBE

    View Slide

  34. 'VODUJPOBM"QQSPBDI
    *GXFVTF$PNCJOF 3Y4XJGU XFDBOSFQMBDFEFTJHOQBUUFSOMJLF
    EFDPSBUPSXJUIGSBNFXPSLGVODUJPOT

    View Slide

  35. "EEJOHPUIFSTQFDT

    View Slide

  36. 4JOHMF3FTQPOTJCJMJUZ1SJODJQMF
    ItemsServiceWithFallback
    ItemsServiceMainQueueDispatcher
    CachableItemService
    RemoteItemsLoader
    LocalItemsLoader
    &BDIDMBTTIBTPOFSFTQPOTJCJMJUZ POFDIBOHFSFBTPO

    View Slide

  37. 0QFO$MPTF1SJODJQMF
    *NQMFNFOUBUJPO
    View
    1SPUPDPM
    *OUFSGBDF
    *NQMFNFOUBUJPO
    *NQMFNFOUBUJPO

    View Slide

  38. -JTLPWTVCTUJUVUJPO*OUFSGBDF
    TFHSFHBUJPOQSJODJQMF
    ItemsService CacheStore
    /POFFEFYUSBJNQMFNFOUBUJPO
    -JTLPWTVCTUJUVUJPOWJPMBUJPO

    View Slide

  39. %FQFOEFODZ*OWFSTJPO
    *NQMFNFOUBUJPO
    View
    1SPUPDPM
    *OUFSGBDF
    *NQMFNFOUBUJPO
    *NQMFNFOUBUJPO

    View Slide

  40. &BTZUPXSJUFUFTUTGPSFBDIDPNQPOFOU

    View Slide

  41. -FU`TMPPLJOUPCSPBEFSBTQFDUT

    View Slide

  42. .PEVMBSJ[BUJPO
    $PNQPTBCJMJUZ FYUFOTJCJMJUZ SFVTBCJMJUZ
    UFTUBCJMJUZ
    0SEFS
    -PHJO 4FUUJOH
    6* 6* 6*
    $BDIF $BDIF $BDIF
    "1* "1* "1*

    View Slide

  43. 5IFOʜ
    8IBU8IFO8IFSF)PXEPXFDPNQPTF
    UIFN
    🤔

    View Slide

  44. $PNQPTJUJPO3PPU

    View Slide

  45. IUUQTXXXNBOOJOHDPNCPPLTEFQFOEFODZJOKFDUJPOQSJODJQMFTQSBDUJDFTQBUUFSOT
    IUUQTTQFBLFSEFDLDPNTIJ[EFQFOEFODZJOKFDUJPO
    3FBEJOHNFNP

    View Slide

  46. $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

    View Slide

  47. $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

    View Slide

  48. $PNQPTJUJPO3PPU
    5IFJOEFQFOEFOUNPEVMFTPGPVSBQQMJDBUJPOBSF
    SFGFSFODFEPOMZCZUIF.BJONPEVMF

    View Slide

  49. $PNQPTJUJPO3PPU "WPJENJTVOEFSTUBOEJOH

    w JTOUBNFUIPEPSBDMBTT JUTDPODFQU *UDBOCFQBSUPGUIF
    .BJONFUIPE PSJUDBOTQBONVMUJQMFDMBTTFT BTMPOHBT
    UIFZBMMSFTJEFJOBTJOHMFNPEVMF

    View Slide

  50. $PNQPTJUJPO3PPU.FSJU
    1BSBMMFM%FWFMPQNFOU
    w5IFNPEVMFTBSFJOEFQFOEFOUPGFBDIPUIFS
    4P UIFZEPO`UOFFEUPCFDPODFSOFEBCPVU
    PUIFSNPEVMFT
    w5IFEFQFOEFODJFTDBOCFFBTJMZJOKFDUFEBOE
    SFQMBDFEXJUIPVUCSFBLJOHFYJTUJOHDPEF
    QSPNPUJOHDPNQPTBCJMJUZBOEFYUFOTJCJMJUZ

    View Slide

  51. $PNQPTJUJPO3PPU.FSJU
    5FTUBCJMJUZ
    w&BDIGFBUVSFNPEVMFDBOCFUFTUFEJOEFQFOEFOUMZ
    w$BOEPVOJUUFTUTGPSFBDIPGUIFNXJUIPVUFYUSB
    DFSFNPOJFT MJLFBTZODIBOEMJOH

    w"MTPDBOEPJOUFHSBUJPOUFTUTBOEBDDFQUBODF
    UFTUTTJODFXFDBOFBTJMZSFQMBDFEFQFOEFODJFT
    XJUINPDLT DMBTTFT GVODUJPOT
    CZDPNQPTJOH
    NPEVMFTJO$PNQPTJUJPO3PPU

    View Slide

  52. $PNQPTJUJPO3PPU.FSJU
    $POUSPMMBCMF0CKFDU-JGFUJNFNBOBHFNFOU
    w0OMZDPNQPTJUJPOSPPULOPXTXIFOBOEIPX
    JOTUBODFTBSFDSFBUFEBOESFMFBTFE
    w.PEVMFTTIPVMEOPULOPXXIFUIFSMJGFDZDMFTPGPUIFS
    NPEVMFTJOTUBODFT TJOHMFUPO USBOTJFOU BOETPPO

    w*UTIPVMEDPOUSPMGSBNFXPSLTQFDJ
    fi
    DUIJOHT 6*NVTU
    CFIBOEMFEPONBJOUISFBE BEEAXFBLAUPBWPJE
    SFUBJODZDMF BOETPPO

    View Slide

  53. $PNQPTJUJPO3PPU.FSJU
    3FBEBCJMJUZ
    w$PNQPTJUJPOSPPUJTUIFTJOHMFQPJOUXIJDIDSFBUF
    JOTUBODFTBOEDPNQPTFUIFN TPXFDBOTFFBMM
    EFQFOEFODJFT NPEVMFSFMBUJPOTIJQTGSPNUIF
    DPNQPTJUJPOSPPUFYQMJDJUMZ &YQMJDJUPCKFDUHSBQI

    w&BTJMZVOEFSTUBOEBCMFTUSVDUVSFFOBCMFTBOZ
    EFWFMPQFSUPDIBOHFJU BWPJEQFSTPOBMJ[FEUBTLT
    TJOHMFGBJMVSFQPJOU

    View Slide

  54. $PNQPTJUJPO3PPU.FSJU
    "QQMZ$SPTT$VUUJOHDPODFSOTXJUIPVUUSBWFSTBMDPEFDIBOHFT
    wFHMPHHJOH BOBMZUJDT
    w&BDINPEVMFTEPFTOU TIPVMEOU
    OFFEUP
    LOPXUIFTFDPODFSOT
    w0ODPNQPTJOHQSPDFTT DPNQPTJUJPOSPPU
    JOKFDUDSPTTDVUUJOHDPODFSOT
    w4PDBMMFE"TQFDUPSJFOUFEQSPHSBNNJOH "01

    View Slide

  55. $PNQPTJUJPO3PPU
    *UEPFTO`ULOPXBOZPUIFSNPEVMFT
    *UFNT6*.PEVMF

    View Slide

  56. 4Pʜ
    )PXDBOJUCFDPOOFDUFEXJUIPUIFS
    NPEVMFT
    🤔

    View Slide

  57. "EBQUFSQBUUFSO
    IUUQTFOXJLJQFEJBPSHXJLJ"[email protected]
    BMMPXTUIFJOUFSGBDFPGBOFYJTUJOHDMBTTUPCF
    VTFEBTBOPUIFSJOUFSGBDF

    View Slide

  58. "EBQUFSQBUUFSO
    $POWFSU"1*SFTVMUJOUP7JFX
    ˞*ONPSFDPNQMFYDBTF DPVMEOFFENBQ"1*SFTVMUUP7JFXEJTQMBZNPEFM
    .BJO.PEVMF

    View Slide

  59. "EBQUFSQBUUFSO
    .BJO.PEVMF

    View Slide

  60. "EBQUFSQBUUFSO

    View Slide

  61. /BWJHBUJPO
    $PVQMFXJUIDPODSFUFEFUBJM
    *U`TXPSTFJGUIJTDPNQPOFOUIBTPUIFSEFQFOEFODJFT
    *UFNT6*.PEVMF

    View Slide

  62. /BWJHBUJPO
    .BJO.PEVMF
    *UFNT6*.PEVMF

    View Slide

  63. -PHHJOH
    )BWFUPJNQPSUMPHNPEVMFBMMPWFSUIFQMBDF

    View Slide

  64. -PHHJOH
    .BJO.PEVMF
    *UFNT6*.PEVMF

    View Slide

  65. $PNQPTJUJPO3PPU%FNFSJU
    w/FFEEJTDJQMJOFUPLFFQDMFBOBSDIJUFDUVSF #SFBLJOH
    UIFEJTDJQMJOFMFBETUPNPSFDPNQMJDBUFESFTVMUUIBO
    CFGPSF

    w5BLFBMPOHUJNFUPBQQMZJUUPUIFFYJTUJOHQSPKFDU
    w*ODSFBTJOHDMBTTFT
    fi
    MFT *UNJHIUJODSFBTFDPNQMFYJUZ

    w4PNFUJNFTOFFEQSPQFSUZJOKFDUJPO XFBLJGZCFDBVTF
    PGDZDMJDEFQFOEFODJFT

    View Slide

  66. *OEJDBUPSTUPLFFQDMFBOBSDIJUFDUVSF
    w-JOFTPGDPEFQFS
    fi
    MF

    *OEJDBUJOHBQPUFOUJBMQSPCMFNXJUI
    NPEVMBSJUZBOEPQFODMPTFDBQBDJUZJOUIF
    DPEFCBTF

    *OEJDBUJOHXIFUIFSUIFQSPKFDUTJTXFMM
    PSHBOJ[FE

    ˞"IJHISBUJPDBOJOEJDBUFQPUFOUJBMQSPCMFNTXJUIUIFBNPVOUPG
    SFTQPOTJCJMJUJFTBOEEFQFOEFODJFTWBSJPVTDPNQPOFOUTNJHIUIBWF

    View Slide

  67. *OEJDBUPSTUPLFFQDMFBOBSDIJUFDUVSF
    w*OEFOUBUJPOTQFS
    fi
    MF

    'JOEJOHFYDFTTDPNQMFYJUZJO
    DPNQPOFOUT

    6OEFSTUBOEJOHXIBUJTIBSEPSFWFO
    JNQPTTJCMFUPUFTU

    ˞&BDIOFTUFETUBUFNFOUJODSFBTFTUIFDPNQMFYJUZPGUIFTZTUFN
    XIJDIDBOSFTVMUJONPSFTUBUFNBOBHFNFOUBOEBMPUNPSF
    EJ
    ffi
    DVMUZJOUFTUJOH

    View Slide

  68. *OEJDBUPSTUPLFFQDMFBOBSDIJUFDUVSF
    w$POEJUJPOBMTUBUFNFOUTQFSUFTU
    fi
    MF

    6OEFSTUBOEJOHXIFUIFSDPOEJUJPOBMMPHJD
    JTCFJOHTFQBSBUFEJONVMUJQMFUFTUT

    4IPXJOHDPOTJTUFODZGPSGPMMPXJOHUIF
    TJOHMFSFTQPOTJCJMJUZQSJODJQMF

    ˞5IFSFJTNPSFUIBOPOFDBTFUPUFTU XFTIPVMEPQUUPDSFBUFBOFX
    UFTUBOEFYQMJDJUMZUFTUBOPUIFSCSBODIPGMPHJDJOTUFBEPGJODMVEJOHBMM
    UIFCSBODIFTJOBTJOHMFUFTU#SFBLEPXOUFTUTXJUINVMUJQMFMPHJDBM
    CSBODIJOHJOUPNVMUJQMFUFTUTXJUIPOMZPOFMPHJDBMBTTFSUJPO

    View Slide

  69. *OEJDBUPSTUPLFFQDMFBOBSDIJUFDUVSF
    w$POEJUJPOBMTUBUFNFOUTQFSQSPEVDUJPO
    fi
    MF

    6OEFSTUBOEJOHIPXDPOEJUJPOBMTBSFTQSFBE
    BDSPTTPVSBQQMJDBUJPO

    ˞6UJMJ[JOHDPOEJUJPOBMTUPNBLFEFDJTJPOTJOBMMMFWFMTPGUIF
    BQQMJDBUJPODPNQMJDBUFTDPNNVOJDBUJPOBOEEBUB
    fl
    PXTCFUXFFO
    UIFMBZFST

    View Slide

  70. *OEJDBUPSTUPLFFQDMFBOBSDIJUFDUVSF
    w .FUIPEBOEQSPQFSUZDPVOUQFSJOUFSGBDFQSPUPDPM

    *EFOUJGZJOHHPPEEFTJHOQSJODJQMFT EFWFMPQFSEJTDJQMJOF
    BOEDPOTJTUFODZ
    w .FUIPEBOEQSPQFSUZDPVOUQFSJOUFSGBDFQSPUPDPM
    PWFSUJNF

    *EFOUJGZJOHHPPEEFTJHOQSJODJQMFT EFWFMPQFSEJTDJQMJOF
    BOEDPOTJTUFODZ

    ˞#SFBLJOHUIFDPOUSBDUUIFJOUFSGBDFP
    ff
    FSTBOEBEEJOHBEEJUJPOBMCFIBWJPSUPGBDJMJUBUF
    UIFJSUBTLTIPVMECFDPOTJEFSFEIBSNGVMBTJUDBOCSFBLOPUPOMZUIFJOUFSGBDF
    TFHSFHBUJPOCFUXFFONPEVMFTBOEDPNQPOFOUTCVUBMTPUIF-JTLPW4VCTUJUVUJPO
    1SJODJQMF SFTVMUJOHJOBNPSFSJHJEBOEGSBHJMFTZTUFN

    View Slide

  71. *OEJDBUPSTUPLFFQDMFBOBSDIJUFDUVSF
    w#PPMFBO
    fl
    BHTBTQBSBNFUFSTPSQSPQFSUJFT
    QFSNPEVMF

    *OEJDBUJOHXIFUIFSUIFTZTUFNDBOCFDPNF
    QPUFOUJBMMZVONBJOUBJOBCMFBOEVOUFTUBCMF

    ˞8IFUIFSZPVSDPNQPOFOUTBSFNBOBHJOHUPPNVDITUBUF
    JOUFSOBMMZBOETIPVMETQMJUUIFJSSFTQPOTJCJMJUZJOUPPOFPSNPSF
    DPNQPOFOUTBOESFEJSFDUUIFDPOEJUJPOUPBIJHIFSMFWFM

    View Slide

  72. *OEJDBUPSTUPLFFQDMFBOBSDIJUFDUVSF
    w1SJWBUFQSPQFSUJFTDPVOUQFSQVCMJDBOE
    JOUFSOBMQSPQFSUJFTDPVOUJONPEVMFT

    *OEJDBUJOHXIFUIFSUIFTZTUFNNBZ
    VOOFDFTTBSJMZFYQPTFJNQMFNFOUBUJPOEFUBJMT

    ˞8IBUQFSDFOUBHFPGPVSDPNQPOFOUQSPQFSUJFTBSFWJTJCMFUPUIF
    SFTUPGUIFTZTUFN JOUFSOBMMZPSQVCMJDMZ

    View Slide

  73. *OEJDBUPSTUPLFFQDMFBOBSDIJUFDUVSF
    w$PNNFOUTQFSQSPEVDUJPO
    fi
    MF

    *OEJDBUJOHJGUIFSFBSFJTTVFTUFDIEFCUXPSL
    UPCFEPOFPVUTJEFTIBSFEQSPKFDUNBOBHFNFOU
    UPPMT OPUUSBDLFEPSWJTJCMFUPUIFXJEFSUFBN


    ˞*ODSFBTFUIFQSPCBCJMJUZPGEJWFSHJOHGSPNBTJOHMFTPVSDFPG
    USVUI MJLFBQSPKFDUNBOBHFNFOUUPPM XIJDISFTVMUTJOBMBDLPGGVMM
    USBOTQBSFODZXJUINFNCFSTPGZPVSUFBNBOEPUIFST

    View Slide

  74. *OEJDBUPSTUPLFFQDMFBOBSDIJUFDUVSF
    w$PNNFOUTQFSUFTU
    fi
    MF

    *OEJDBUJOHQPUFOUJBMMZVOUFTUFECFIBWJPS

    *OEJDBUJOHJGUIFSFBSFJTTVFTUFDIEFCUXPSL
    UPCFEPOFPVUTJEFTIBSFEQSPKFDUNBOBHFNFOU
    UPPMT OPUUSBDLFEPSWJTJCMFUPUIFXJEFSUFBN


    ˞4JHOJGZNJTTJOHDIFDLTJOUIFTZTUFNTCFIBWJPS

    View Slide

  75. *OEJDBUPSTUPLFFQDMFBOBSDIJUFDUVSF
    w4FUVQMJOFTPGDPEFQFSUFTU
    fi
    MF

    6OEFSTUBOEJOHJGUIFSFJTBOFYDFTTPG
    EFQFOEFODJFTBOEDPO
    fi
    HVSBUJPOGPSUIFTZTUFN
    VOEFSUFTUUPXPSL

    .POJUPSJOHDPOTJTUFODZXJUIHPPEEFTJHO
    QSBDUJDFT TVDIBTDPNQPOFOUTIBWJOHBTJOHMF
    SFTQPOTJCJMJUZPSDPNQPOFOUTCFJOHEFDPVQMFE
    GSPNPUIFSDPODSFUFDPNQPOFOUTVTJOH
    EFQFOEFODZJOWFSTJPO

    View Slide

  76. *OEJDBUPSTUPLFFQDMFBOBSDIJUFDUVSF
    w$PEF$PWFSBHF

    'JOEJOHVOUFTUFEDPEFQBUIT

    ˞"IJHIDPEFDPWFSBHFNBZJOEJDBUFEFWFMPQFSTDPOTJTUFODZGPS
    XSJUJOHUFTUTBMPOHXJUIUIFQSPEVDUJPODPEF#VU JUEPFTOU
    HVBSBOUFFUIFBCTFODFPGQSPHSBNNFSNJTUBLFTPSNJTTJOH
    BTTFSUJPOT

    View Slide

  77. *OEJDBUPSTUPLFFQDMFBOBSDIJUFDUVSF
    w'JMFDPVOUQFSDPNNJU

    1PUFOUJBMMZVOEFSTUBOEJOHUIFEFWFMPQFST`MFWFMPGEJTDJQMJOF

    'JOEJOHPVUXIFUIFSUIFTZTUFNJTCFJOHEFWFMPQFEJOTNBMMPSCJH
    CBUDIFT

    1SFEJDUJOHBMFWFMPGTZTUFNSFWFSTJCJMJUZ VOEPDPTU


    ˞5IJTDBOTJHOJGZNPEVMBSJUZ MPPTFDPVQMJOHJOUIFDPEFCBTFBOE
    EFWFMPQFSEJTDJQMJOF"TNBMMWBMVFGPSUIJTSBUJPVTVBMMZEJDUBUFT
    UIBUEFWFMPQFSTXPSLJOTNBMMCBUDIFT GPDVTJOHPOMZPOTQFDJ
    fi
    D
    DPNQPOFOUTBOEBSFOPUXPSSJFEBCPVUUIFJSQMBDFJOUIFSFTUPG
    UIFTZTUFN

    View Slide

  78. *OEJDBUPSTUPLFFQDMFBOBSDIJUFDUVSF
    w'JMFDPVOUQFSNFSHF

    *OEJDBUJOHXIFOPQFSBUJPOTQFFEJTBCPVUUPGBMM

    "TTFTTJOHJGPQFSBUJPOTQFFEIBTDIBOHFEPWFSBQFSJPEPGUJNF

    ˞"MBSHF
    fi
    MFDPVOUEFOPUFTUIBUUIFZDSFBUFCJHTJ[FECSBODIFT
    UIBUDBODBVTFEFMBZTJOUIFEFWFMPQNFOUBOESFMFBTFDZDMFT
    QTZDIPMPHJDBMGBUJHVFBOECVSOPVUGPSUIFEFWFMPQFSTBOEJODSFBTF
    JODPTUTGPSUIF
    fi
    SN

    View Slide

  79. *OEJDBUPSTUPLFFQDMFBOBSDIJUFDUVSF
    w3FDVSSFOU
    fi
    MFDIBOHFTDPNNJUUFEPS
    NFSHFEUPHFUIFS

    *EFOUJGZJOHXFBLBCTUSBDUJPOT

    ˞*OEJDBUFTBQPUFOUJBMMZIJEEFODPVQMJOHCFUXFFODPNQPOFOUT
    *EFOUJGZJOH
    fi
    MFTUIBUPGUFODIBOHFUPHFUIFSNBZFYQPTFXFBL
    BCTUSBDUJPOTCFUXFFODPNQPOFOUT4VDIBGBDUNJHIUOPUCF
    IBSNGVMXJUIJOBNPEVMF CVUJUTBMBSNJOHXIFODSPTTJOHNPEVMF
    CPVOEBSJFTUIBU POUIFTVSGBDF TFFNEFDPVQMFE FHDIBOHF
    BOBMZUJDTBDDPSEJOHUP6*DIBOHF

    View Slide