DDD BoundedContext

DDD BoundedContext

What is `Bounded Context` in Domain Driven Design(DDD)

93bc8fb48f57c11e417dad9d26a2fb8a?s=128

petitviolet

November 22, 2017
Tweet

Transcript

  1. #PVOEFE$POUFYU ࠶ೖ໳ !QFUJUWJPMFU

  2. ͓͠ͳ͕͖ w #PVOEFE$POUFYUͬͯͳʹ w Կ͕خ͍͠ʁ w #PVOEFE$POUFYUͷ੾Γํ w ྫ͑͹ w

    $POUFYUͷ౷߹ w ·ͱΊ
  3. #PVOEFE$POUFYU ͬͯͳʹʁ

  4. ఆٛͨ͠Ϟσϧ͕ ద༻͞ΕΔείʔϓ

  5. #PVOEFE$POUFYUͱ͸ w ఆٛͨ͠Ϟσϧ͕ద༻͞ΕΔείʔϓ w Ϟσϧͷதʹ͸ͦͷϞσϧͷ֓೦ɺϧʔϧɺ ϢϏΩλεݴޠؚ͕·Ε͍ͯΔ w ผͷ$POUFYUʹ͓͍ͯ͸ద༻͞Εͳ͍ w $POUFYU಺ͰϞσϧ͸ݫີʹҰ؏ੑΛอͭ

  6. #PVOEFE$POUFYU ͸Կ͕خ͍͠ʁ

  7. ޿͍είʔϓͰϞσϧΛద༻ WT ڱ͍είʔϓͰϞσϧΛద༻

  8. ޿͍είʔϓͰϞσϧΛద༻ WT ڱ͍είʔϓͰϞσϧΛద༻ ͲͪΒ͕ɺϞσϧ͕໌֬ʹͳΔ͔ ͲͪΒ͕ɺҰ؏ੑΛอͪ΍͍͔͢

  9. #PVOEFE$POUFYU͸Կ͕خ͍͠ʁ w ʮ$POUFYUʯͱ͍͏ڥքΛҾ͘͜ͱʹΑͬͯɺԿ ʹҰ؏ੑΛ࣋ͨͤΔ΂͖Ͱ͋Δͷ͔͕໌֬ʹͳΔ w ࣗ༝ͳੈքΑΓద౓ͳ੍໿ w ֎෦ͷ$POUFYUʹҙࣝΛ޲͚Δඞཁ͕ͳ͘ͳΓɺ ϞσϧΛ७ਮʹอͭ͜ͱ͕ग़དྷΔ

  10. #PVOEFE$POUFYU͸Կ͕خ͍͠ʁ w $POUFYUͷଘࡏͰΤϯδχΞͷ࢟੎͕มΘΔʁ w Ϟσϧ͕ద༻͞ΕΔείʔϓ͕ڱ·Δ w Ұ؏ੑΛอͭ΂͖είʔϓ΋ڱ·Δ w ڱ͍είʔϓ͔ͩΒͦ͜ݫີʹकΔ

  11. #PVOEFE$POUFYU ͷ੾Γํ

  12. ͲΜͳ୯ҐͰ੾Ε͹͍͍ʁ ΤϯςΟςΟԿݸ͘Β͍ʁ

  13. ਖ਼ղ͸ͳ͍

  14. ϢϏΩλεݴޠʹͳ͍Α͏ͳ֓೦Λ ϞσϧʹऔΓࠐΜͩΓɺ ͋Δ͍͸େࣄͳ֓೦Λ֎ʹग़ͨ͠Γ ͠ͳ͍Α͏ʹؾΛ෇͚Α͏ɻ

  15. Ͳ͏΍ͬͯ#PVOEFE$POUFYUΛ੾Δ͔ w ෺ཧతʹΘ͚Δ w νʔϜฤ੒ w ίʔυϕʔε w σʔλϕʔεεΩʔϚ w

    FUD w $POUFYUࣗ਎ʹ΋ϢϏΩλεͳ໊લΛ͚ͭΔ w ଞͷ$POUFYUͱ໌֬ʹ۠ผ͢Δ
  16. ͨͱ͑͹ ग़൛ࣾͷۀ຿

  17. ग़൛ࣾͷۀ຿ ॻ੶ͷ಺༰ΛҊͱͯ͠·ͱΊɺىҊ͢Δ ஶऀͱग़൛ܖ໿Λ݁Ϳ ॻ੶ͷࣥචͱฤूͷϓϩηεΛ؅ཧ͢Δ ॻ੶ͷ૷ஸ΍ૠֆΛσβΠϯ͢Δ ॻ੶Λଞͷݴޠʹ຋༁͢Δ ࢴͷॻ੶΍ిࢠ൛Λ࡞੒͢Δ ॻ੶Λએ఻͢Δ ॻ੶Λ࠶ൢۀऀʹൢച͢Δ ࢴͷॻ੶Λ࠶ൢۀऀ΍ސ٬ʹग़ՙ͢Δ

  18. ग़൛ࣾͷۀ຿ ॻ੶ͷ಺༰ΛҊͱͯ͠·ͱΊɺىҊ͢Δ ஶऀͱग़൛ܖ໿Λ݁Ϳ ॻ੶ͷࣥචͱฤूͷϓϩηεΛ؅ཧ͢Δ ॻ੶ͷ૷ஸ΍ૠֆΛσβΠϯ͢Δ ॻ੶Λଞͷݴޠʹ຋༁͢Δ ࢴͷॻ੶΍ిࢠ൛Λ࡞੒͢Δ ॻ੶Λએ఻͢Δ ॻ੶Λ࠶ൢۀऀʹൢച͢Δ ࢴͷॻ੶Λ࠶ൢۀऀ΍ސ٬ʹग़ՙ͢Δ

    શͯผͷ$POUFYU
  19. ग़൛ࣾͷۀ຿ ॻ੶ͷ಺༰ΛҊͱͯ͠·ͱΊɺىҊ͢Δ ஶऀͱग़൛ܖ໿Λ݁Ϳ ॻ੶ͷࣥචͱฤूͷϓϩηεΛ؅ཧ͢Δ ॻ੶ͷ૷ஸ΍ૠֆΛσβΠϯ͢Δ ॻ੶Λଞͷݴޠʹ຋༁͢Δ ࢴͷॻ੶΍ిࢠ൛Λ࡞੒͢Δ ॻ੶Λએ఻͢Δ ॻ੶Λ࠶ൢۀऀʹൢച͢Δ ࢴͷॻ੶Λ࠶ൢۀऀ΍ސ٬ʹग़ՙ͢Δ

  20. ग़൛ࣾͷۀ຿ ॻ੶ͷ಺༰ΛҊͱͯ͠·ͱΊɺىҊ͢Δ ஶऀͱग़൛ܖ໿Λ݁Ϳ ॻ੶ͷࣥචͱฤूͷϓϩηεΛ؅ཧ͢Δ ॻ੶ͷ૷ஸ΍ૠֆΛσβΠϯ͢Δ ॻ੶Λଞͷݴޠʹ຋༁͢Δ ࢴͷॻ੶΍ిࢠ൛Λ࡞੒͢Δ ॻ੶Λએ఻͢Δ ॻ੶Λ࠶ൢۀऀʹൢച͢Δ ࢴͷॻ੶Λ࠶ൢۀऀ΍ސ٬ʹग़ՙ͢Δ

    ʮॻ੶ʯ શ෦ಉ͡΋ͷʁ
  21. ग़൛ࣾͷۀ຿ w ʮॻ੶ʯ w ಉ͡ݴ༿͚ͩͲಉ͡΋ͷͰ͸ͳ͍ w ֤$POUFYUʹ͓͍ͯఆ͕ٛҧ͏ w ࣥචϓϩηεͷॻ੶ w

    ૲ߘɺίϝϯτɺߍਖ਼ɺFUD w ग़ՙϓϩηεͷॻ੶ w ૔ݿͷҐஔɺࡏݿ਺ɺαΠζɺFUD w ಉࣝ͡ผࢠΛڞ༗ͯ͠௥੻Մೳʹ͢Δ͕ɺ ֤$POUFYUʹ͓͚Δʮॻ੶ʯΛද͢Ϟσϧ͸ҟͳΔ
  22. $POUFYUͷ౷߹

  23. $POUFYUͷ౷߹ w #PVOEFE$POUFYUͰۀ຿Λ੾Γ෼͚ͨ w ͡Ό͋Ͳ͏΍ͬͯ࿈ܞ͢Δ͔ w ίϯςΩετϚοϓ w ౷߹ύλʔϯ

  24. ίϯςΩετϚοϓ

  25. ίϯςΩετϚοϓ w ϓϩδΣΫτʹؔΘΔڥք෇͚ΒΕͨίϯςΩε τͱͦΕΒͷ౷߹ؔ܎Λࣔ͢΋ͷ w طଘͷγεςϜͷશ๴Λ೺ѲͰ͖Δ w ίϛϡχέʔγϣϯ͕ඞཁͳνʔϜΛಛఆ͢Δ w 6QTUSFBN%PXOTUSFBN

    w ্ྲྀԼྲྀ
  26. $POUFYU౷߹ύλʔϯ

  27. $POUFYU౷߹ύλʔϯ w ύʔτφʔγοϓ w ୯ҰͷίϯςΩετ w ڞ༗Χʔωϧ w ެ։ϗεταʔϏε w

    ސ٬ڙڅऀ w ॱԠऀ w ෗ഊ๷ࢭ૚ w ผʑͷಓ
  28. $POUFYU౷߹ύλʔϯ w ύʔτφʔγοϓ w ୯ҰͷίϯςΩετ w ڞ༗Χʔωϧ w ެ։ϗεταʔϏε w

    ސ٬ڙڅऀ w ॱԠऀ w ෗ഊ๷ࢭ૚ w ผʑͷಓ ੒ޭࣦഊͷӡ໋Λڞʹ͢Δ νʔϜؒͰڠྗؔ܎Λங͘ඞཁ͕͋Δ
  29. $POUFYU౷߹ύλʔϯ w ύʔτφʔγοϓ w ୯ҰͷίϯςΩετ w ڞ༗Χʔωϧ w ެ։ϗεταʔϏε w

    ސ٬ڙڅऀ w ॱԠऀ w ෗ഊ๷ࢭ૚ w ผʑͷಓ ίϯςΩετ͕ͭɻҎ্ɻ
  30. $POUFYU౷߹ύλʔϯ w ύʔτφʔγοϓ w ୯ҰͷίϯςΩετ w ڞ༗Χʔωϧ w ެ։ϗεταʔϏε w

    ސ٬ڙڅऀ w ॱԠऀ w ෗ഊ๷ࢭ૚ w ผʑͷಓ ͭͷίϯςΩετΛ ෳ਺ͷίϯςΩετ͕ࢀর
  31. $POUFYU౷߹ύλʔϯ w ύʔτφʔγοϓ w ୯ҰͷίϯςΩετ w ڞ༗Χʔωϧ w ެ։ϗεταʔϏε w

    ސ٬ڙڅऀ w ॱԠऀ w ෗ഊ๷ࢭ૚ w ผʑͷಓ ΞΫηε͢ΔͨΊͷ ϓϩτίϧΛެ։͢Δ
  32. $POUFYU౷߹ύλʔϯ w ύʔτφʔγοϓ w ୯ҰͷίϯςΩετ w ڞ༗Χʔωϧ w ެ։ϗεταʔϏε w

    ސ٬ڙڅऀ w ॱԠऀ w ෗ഊ๷ࢭ૚ w ผʑͷಓ ্ྲྀͱԼྲྀʹΘ͔Εͯ Լྲྀͷ݁Ռʹ্ྲྀ͕ίϛοτ͢Δ
  33. $POUFYU౷߹ύλʔϯ w ύʔτφʔγοϓ w ୯ҰͷίϯςΩετ w ڞ༗Χʔωϧ w ެ։ϗεταʔϏε w

    ސ٬ڙڅऀ w ॱԠऀ w ෗ഊ๷ࢭ૚ w ผʑͷಓ ্ྲྀͱԼྲྀʹΘ͔ΕΔ͕ Լྲྀ͸্ྲྀʹ߹ΘͤΔ͔͠ͳ͍
  34. $POUFYU౷߹ύλʔϯ w ύʔτφʔγοϓ w ୯ҰͷίϯςΩετ w ڞ༗Χʔωϧ w ެ։ϗεταʔϏε w

    ސ٬ڙڅऀ w ॱԠऀ w ෗ഊ๷ࢭ૚ w ผʑͷಓ ্ྲྀΛִ཭͢ΔͨΊͷ ม׵૚Λ௨ͯ͠ Լྲ্ྀ͕ྲྀΛར༻͢Δ
  35. $POUFYU౷߹ύλʔϯ w ύʔτφʔγοϓ w ୯ҰͷίϯςΩετ w ڞ༗Χʔωϧ w ެ։ϗεταʔϏε w

    ސ٬ڙڅऀ w ॱԠऀ w ෗ഊ๷ࢭ૚ w ผʑͷಓ ౷߹͸ఘΊΔ
  36. $POUFYU౷߹ύλʔϯ w ύʔτφʔγοϓ w ୯ҰͷίϯςΩετ w ڞ༗Χʔωϧ w ެ։ϗεταʔϏε w

    ސ٬ڙڅऀ w ॱԠऀ w ෗ഊ๷ࢭ૚ w ผʑͷಓ ౷߹ύλʔϯΛࢀߟʹ ίϯςΩετɾνʔϜͷؔ܎Λ໌֬ʹͯ͠ ͏·͘࿈ܞ͍ͯ͘͜͠ͱ͕େࣄ
  37. ·ͱΊ

  38. #PVOEFE$POUFYU͸ ҰମͳΜͩͬͨͷ͔

  39. #PVOEFE$POUFYU͸ҰମͳΜͩͬͨͷ͔ w ఆٛ͢ΔϞσϧ͕ద༻͞ΕΔείʔϓ w ϞσϧΛΑΓ໌֬ʹ͢ΔͨΊ w ίϯςΩετϚοϓΛඳ͘ w શମΛ၆ᛌ͠ɺίϛϡχέʔγϣϯ͢Δ w

    ίϯςΩετΛ౷߹͢Δ w Ͳ͏࿈ܞ͢Δ͔Λ໌Β͔ʹ
  40. େن໛γεςϜ։ൃΛ νʔϜʹΘ͔Εͯ ࿈ܞ͍ͯͨ͘͠Ίͷ֓೦

  41. ֤νʔϜ͸ Ϟσϧ΍ίϛϡχέʔγϣϯʹ͍ͭͯ ߟ͑Δ͜ͱ͕ݮΔ WT ෺ཧతʹΘ͔ΕΔͷͰ ௐ੔ͱ͔σϓϩΠͱ͔ӡ༻ͱ͔Ͱ ߟ͑Δ͜ͱ͕૿͑Δ

  42. None