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

Dr. Springlove

Dr. Springlove

zhanpon

May 18, 2019
Tweet

More Decks by zhanpon

Other Decks in Technology

Transcript

  1. Dr. Springlove
    ·ͨ͸ࢲ͸೗Կʹͯ͠৺഑͢ΔͷΛࢭ
    ΊͯDIΛѪ͢ΔΑ͏ʹͳ͔ͬͨ

    View Slide

  2. ࣗݾ঺հ: @zhanpon
    » ࢓ࣄ1. Spring BootͰϨίϝϯσʔγϣϯγεςϜ։ൃ
    » ࢓ࣄ2. ࣾ಺ͷ਺ֶಉ޷ձͷΦʔΨφΠβʔ

    View Slide

  3. ͜ͷLTͰ఻͍͑ͨ͜ͱ

    View Slide

  4. "Dependency Injection: Principles,
    Practices, and Patterns"ͱ͍͏ຊ͕
    ૉ੖Β͍͠ͷͰ঺հ͍ͨ͠ʂ

    View Slide

  5. View Slide

  6. ग़ձ͍

    View Slide

  7. ڈ೥ͷ4݄ࠒ
    ͳΜ͔ม਺ʹ@Autowired͚ͬͯͭΔͱϑϨʔϜϫʔΫ͕ͦͷػೳΛఏڙ
    ͯ͘͠ΕΔΒ͍͠ɻSpring Bootͬͯศརͩͳʙ

    View Slide

  8. ڈ೥ͷ5݄ࠒʢͦͷ1ʣ
    ͋͋ɺ·ͨjava.lang.IllegalStateException: Failed to load
    ApplicationͩʂΞϊςʔγϣϯͩΒ͚ͰԿ΋Θ͔Βͳ͍ʔʔ

    View Slide

  9. ڈ೥ͷ5݄ࠒʢͦͷ2ʣ
    ;Ή;ΉɺDIͷઐ໳ॻ͕͋ΔΒ͍͠ɺಡΜͰΈΑ͏ɻ

    View Slide

  10. ͦͯ͠……։؟

    View Slide

  11. DIຊͷ͍͍ͱ͜Ζ
    1. ߟ࡯͕ଟ໘త
    2. ϑϨʔϜϫʔΫʹཔΒͳ͍

    View Slide

  12. ߟ࡯͕ଟ໘త

    View Slide

  13. View Slide

  14. ߟ࡯͕ଟ໘త
    ʮDI͚͖ͬͯͬΐ͘{஗ԆόΠϯσΟϯά,୯ମςετ}ͷͨΊʹ͋ΔΜͰ
    ͠ΐʯΈ͍ͨͳ୯७ͳ݁࿦ʹඈͼ͔ͭͳ͍

    View Slide

  15. ߟ࡯͕ଟ໘త
    ͜ͷຊͰ͸3ͭͷ࣠Ͱߟ࡯͞Ε͍ͯΔ
    1. Object Composition
    2. Object Lifetime
    3. Interception

    View Slide

  16. ϑϨʔϜϫʔΫʹཔΒͳ͍
    » Part 1: DIͷશମ૾
    » Part 2: Χλϩά
    » Part 3: ७ਮͳDI
    » Part 4: DIίϯςφ

    View Slide

  17. ϑϨʔϜϫʔΫʹཔΒͳ͍
    » Ch. 10: Aspect-Oriented Programming by design
    » Ch. 11: Tool-based Aspect-Oriented Programming

    View Slide

  18. ϑϨʔϜϫʔΫʹཔΒͳ͍
    ʮͳΜ͔ΨνϟΨνϟΞϊςʔγϣϯ෇͚ͨΒ௚ͬͨʯͱ͍͏ࢥߟ͔Β
    ൈ͚ग़ͤͨɻ

    View Slide

  19. ͱ͜ΖͰ…

    View Slide

  20. ୈ1൛

    View Slide

  21. View Slide

  22. C#ͷຊͰͨ͠ʂ ͝ΊΜ
    ͳ͍͞ʂʂ

    View Slide

  23. ׬

    View Slide