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

ドメイン駆動設計 第一部まとめ

Go Tanaka
September 08, 2016

ドメイン駆動設計 第一部まとめ

エリックエヴァンスのDDD本の第一部のまとめ(感想)

Go Tanaka

September 08, 2016
Tweet

More Decks by Go Tanaka

Other Decks in Programming

Transcript

  1. υϝΠϯۦಈઃܭ
    ୈ1෦·ͱΊ

    View full-size slide

  2. Ϟσϧͱ͸Կ͔
    • ౰໘ͷ໰୊Λղܾ͢Δ্Ͱؔ࿈͢Δଆ໘Λந৅Խ͠ɺɹ
    ͦΕҎ֎ͷཁૉΛແࢹͨ͠ݱ࣮ʹର͢Δͻͱͭͷղऍ
    • ιϑτ΢ΣΞͱ͸
    • ϢʔβͷԿΒ͔ͷ׆ಈ΍ؔ৺ࣄͱؔ܎͕͋Δ
    • Ϣʔβ͕ϓϩάϥϜΛద༻͢ΔྖҬ͕ιϑτ΢ΣΞ
    ͷυϝΠϯ

    View full-size slide

  3. Ϟσϧͱ͸Կ͔
    ݱ࣮ੈք
    ׆ಈɾؔ৺ࣄ ׆ಈɾؔ৺ࣄ
    Ϟσϧ Ϟσϧ
    ؆ུԽɾந৅Խ
    ιϑτ΢ΣΞ
    ͷྖҬ

    View full-size slide

  4. ϞσϦϯά
    • υϝΠϯϞσϦϯάͱ͸ϞσϧΛͰ͖Δ͚ͩ
    ʮ࣮ࣸతʹʯ࡞੒͢Δ͜ͱͰ͸ͳ͍
    • ͋Δ໨తʹैͬͯݱ࣮ͷ֓ཁΛදݱ͢Δ
    • ͜ͷ࡞ۀΛϞσϦϯάͱݺͿ

    View full-size slide

  5. ͲͷΑ͏ʹϞσϧΛબ୒͢Δ͔
    1. Ϟσϧͱઃܭͷ֩৺͕૬ޓʹؔ࿈͠߹͏͜ͱ
    2. νʔϜϝϯόશһ͕࢖༻͢Δڞ௨ͷݴޠج൫Ͱ
    ͋Δ͜ͱ
    3. ৠཹ͞Εͨ஌ࣝͰ͋Δ͜ͱ

    View full-size slide

  6. Ͳ͔͜Β࢝ΊΔ͔ʁ
    • ஌ࣝΛ͔Έࡅ͘ͱ͜Ζ͔Β
    ”ΫϥΠΞϯτ΍υϝΠϯΤΩεύʔτͱҰॹʹ࿩͠߹͍ͳ͕Β
    ΦϒδΣΫτͷ૬ޓ࡞༻ਤΛඳ͍ͨΓͨ͠”
    ”༻ޠ๏ʹ͋ͬͨෆҰக΍͍͋·͍͞ɺٕज़తͳݟղͷ૬ҧΛҰ
    ॹʹͳͬͯղֶܾ͠ΜͰ͍ͬͨ”
    “ͦͷ݁Ռɺ෺ࣄΛΑΓݫີʹໃ६ͳ͘આ໌Ͱ͖ΔΑ͏ʹͳͬͨ"

    View full-size slide

  7. ܧଓతֶश
    • ܧଓతֶश ͸ෆՄܽ
    • υϝΠϯϞσϧͷεΩϧ
    • ٕज़తͳ஌ࣝͷ޲্
    • ͍·औΓ૊ΜͰ͍Δ۩ମతͳυϝΠϯʹ͍ͭ
    ֶͯश͢Δ

    View full-size slide

  8. ϢϏΩλεݴޠ
    • ڞ௨ݴޠͷͳ͍ϓϩδΣΫτ
    • ೔ʑͷٞ࿦Ͱ࢖͏༻ޠ๏͕ɺίʔυʹຒΊࠐ·Ε
    Δ༻ޠ๏͔Β੾Γ཭͞ΕΔ
    • ௨༁͕ඞཁʹͳΔ
    • Ϟσϧͷ֓೦Λࠞཚͤͯ͞͠·͏
    • ίʔυͷഁյతͳϦϑΝΫλϦϯάʹͭͳ͕Δ

    View full-size slide

  9. ϢϏΩλεݴޠ
    • ։ൃऀͷؒͰ࢖༻͞Εͳ͚Ε͹ͳΒͳ͍
    • ݴޠΛ࢖͏্Ͱ໰୊͕͋Ε͹ɺ୅ΘΓͷදݱΛ༻͍
    ࣮ͯݧ͢Δ
    • ݴޠʹର͢Δมߋ͸ɺυϝΠϯϞσϧʹର͢Δมߋ
    • ίʔυ಺ͷΫϥε΍ϝιουͷ໊લΛม͑ͨΓ;
    Δ·͍Λมߋͨ͠Γ͢Δ͜ͱʹͭͳ͕Δ

    View full-size slide

  10. υΩϡϝϯτͱਤ
    • Ϟσϧ͸ਤͰ͸ͳ͍
    • ਤ͕දݱ͍ͯ͠Δͷ͸ߟ͑ํͷࠎ֨
    • ઃܭʹؔ͢Δຊ࣭తͳৄࡉ͸ɺίʔυʹ͓͍ͯͱΒ͑ΒΕΔ
    • υΩϡϝϯτ͸ίʔυ΍ձ࿩ͷදݱΛิΘͳ͚Ε͹͍͚ͳ͍
    • ίʔυͰදݱͰ͖͍ͯΔ΋ͷΛυΩϡϝϯτͰ΋͢Δ΂͖Ͱ͸
    ͳ͍
    • υΩϡϝϯτ͸ৗʹ࠷৽ͰϓϩδΣΫτͷ׆ಈʹऔΓࠐ·Ε͍ͯͳ
    ͚Ε͹ͳΒͳ͍ʢϓϩδΣΫτͷ׆ಈͷҰ෦Ͱ͋Δ͜ͱʣ

    View full-size slide

  11. Ϟσϧͱ࣮૷Λ݁ͼ͚ͭΔ
    • Ϟσϧۦಈઃܭ
    • ڧݻͳϢϏΩλεݴޠΛࢧ͑Δ͜ͱ
    • υϝΠϯͱ࣮૷྆ํͷ໨తʹ࢖͑Δ୯ҰͷϞσϧΛཁٻ͢Δ͜ͱ
    • ΦϒδΣΫτࢦ޲ͷΑ͏ͳϞσϦϯάύϥμΠϜΛࢧ͑Διϑτ΢Σ
    Ξ։ൃͷͨΊͷπʔϧͱݴޠ͕ඞཁ
    • ίʔυΛ࡞੒͢Δਓ͕Ϟσϧʹ੹೚Λײ͍ͯ͡ͳ͍৔߹΍ɺΞϓϦ
    έʔγϣϯͷͨΊʹϞσϧΛػೳͤ͞Δํ๏Λཧղ͍ͯ͠ͳ͍৔߹ɺ
    ͦͷϞσϧ͸ιϑτ΢ΣΞͱແؔ܎ʹͳͬͯ͠·͏ɻ

    View full-size slide

  12. ࠎ֨ΛΈͤΔ
    • Ϟσϧ͕໌Β͔ʹͳΕ͹
    • Ϣʔβ͸ιϑτ΢ΣΞͷજࡏೳྗʹ΋ͬͱ৮ΕΒ
    ΕΔΑ͏ʹͳΓ
    • ;Δ·͍͸Ұ؏ͨ͠༧ଌՄೳͳ΋ͷʹͳΔ
    ͪΌΜͱϞσϧ͕ઃܭʹ൓өͰ͖͍ͯΕ͹ɺϢʔβ͕
    ιϑτ΢ΣΞ಺෦ʹ͍ͭͯ΋͋Δఔ౓༧ଌͰ͖Δ΋ͷ
    ʹͳΔ

    View full-size slide

  13. ୈ1෦·ͱΊ
    • ϝϦοτ
    • ༻ޠͷਖ਼֬ͳهड़΍ཧղ͕ϝϯόʔؒͰͰ͖ͦ͏
    • ͜ΕʹΑΓ࡞ۀޙͷࠩ໭͠΍࢓༷ͷݟམͱ͠΋ॳظஈ֊Ͱݟ͚ͭ΍͘͢ͳΓͦ͏
    • σϝϦοτ
    • Ϟσϧͷϝϯςφϯείετ͸ͦΕͳΓʹߴͦ͏
    • ϞσϧΛৠཹ͢ΔίετʢݴޠͷมߋɺυΩϡϝϯτͷมߋɺίʔυͷมߋʣ
    • ϞσϧΛมߋͨ͠ΒϦϑΝΫλϦϯάΛߦΘͳ͚Ε͹͍͚ͳ͍

    View full-size slide