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

DDD勉強会 ~戦略的設計 編~

DDD勉強会 ~戦略的設計 編~

副業先のDDD勉強会で使った資料です。
戦略的設計と戦術的設計の2回に分けて実施予定の前半部分です。

ITO Shogo

May 25, 2020
Tweet

More Decks by ITO Shogo

Other Decks in Programming

Transcript

  1. ҏ౻উޜ
    %%%ษڧձdઓུతઃܭฤd

    View Slide

  2. ࣗݾ঺հ

    • ҏ౻উޜ ͠ΐ͏͝
    !TIPXXJO

    • -"13"4גࣜձࣾ$50

    View Slide

  3. ܦྺ

    • גࣜձࣾ... d

    • "843BJMTͰडୗ։ൃ Πϯϑϥ όοΫΤϯυϝΠϯ

    • શࣾਓͰϑϧϦϞʔτϫʔΫ
    •-"13"4גࣜձࣾ d

    •ڞಉ૑ۀऀ $50
    •ΤϯδχΞεΫϥϜϚελʔϓϩμΫτΦʔφʔΤϯδχΞ
    •Ϛωδϝϯτ ૊৫ͮ͘Γ ࠾༻͋ͨΓ͕ຊۀ

    View Slide

  4. ࠷ۙϋϚ͍ͬͯΔ͜ͱ

    • (PݴޠͰ%%%
    • ೥લʹ3BJMTͰॻ͍ͨझຯαʔϏεΛ(PͰॻ͖௚͠த
    • Ϋιίʔυ͚ͩͲ੒௕Λ࣮ײͰ͖ͯྑ͍
    • 'BDUPSJP
    • ࠷ۙͰ͸ͳ͍ʜ ೥༡ΜͰ͍Δ
    • ֦ுੑͷߴ͍޻৔Λઃܭ͢Δͷָ͕͍͠Α

    View Slide

  5. View Slide

  6. Ξϯέʔτ

    Έͳ͞Μͷ%%%ཧղ౓Λڭ͑ͯԼ͍͞ʂ

    View Slide

  7. %%%ཧղ౓Ξϯέʔτ

    View Slide

  8. Έͳ͞ΜͲ͜Ͱ͔͢ʁ
    ᶃ ᶄ ᶅ ᶆ ᶇ
    ᶃݴ༿͸ฉ͍ͨ͜ͱ͋Δ
    ᶄͳΜͱͳ͘஌ͬͯΔ
    ᶅ׬શʹཧղ͍ͯ͠Δ
    ᶆΘ͔Δؾ͕͢Δ͚Ͳɺ
    Θ͔Δͬͯݴ͍ͮΒ͍
    ᶇνϣοτϫΧϧ

    View Slide


  9. ᶃݴ༿͸ฉ͍ͨ͜ͱ͋Δ
    ᶄͳΜͱͳ͘஌ͬͯΔ
    ᶅ׬શʹཧղ͍ͯ͠Δ
    ᶆΘ͔Δؾ͕͢Δ͚Ͳɺ
    Θ͔Δͬͯݴ͍ͮΒ͍
    ᶇνϣοτϫΧϧ
    Θͨ͠͸͜͜Ͱ͢ʜɹ

    View Slide

  10. ࠓ೔ͷ໨త

    %%%ͷೝࣝΛଗ͑Δ͜ͱ

    View Slide

  11. %%%ͱݴΘΕͯԿΛࢥ͍ු͔΂·͔͢ʁ

    ϢϏΩλεݴޠ
    ϞσϦϯά
    ΦχΦϯΞʔΩςΫνϟ
    ϨΠϠʔυΞʔΩςΫνϟ
    υϝΠϯΤΩεύʔτ
    ڥք͚ͮΒΕͨίϯςΩετ
    7BMVF0CKFDU
    &OUJUZ

    View Slide

  12. %%%ͷΞϓϩʔνͷશମ૾

    %%%ͷ໨త͸ʮϞσϦϯάΛ௨ͯ͡ιϑτ΢ΣΞͷՁ஋ΛߴΊΔʯ͜ͱ
    ιϑτ΢ΣΞԽର৅ͷݱ࣮ੈք
    ໰୊ղܾͷͨΊʹɺ
    ෺ࣄͷಛఆͷଆ໘Λந৅Խͨ͠΋ͷ
    υϝΠϯ
    Ϟσϧ
    ιϑτ΢ΣΞ
    ઓུత

    ઃܭ
    ઓज़త

    ઃܭ
    Ϟσϧͷ࣮૷

    View Slide

  13. େࣄͳͷ͸͜͜

    ιϑτ΢ΣΞԽର৅ͷݱ࣮ੈք
    ໰୊ղܾͷͨΊʹɺ
    ෺ࣄͷಛఆͷଆ໘Λந৅Խͨ͠΋ͷ
    υϝΠϯ
    Ϟσϧ
    ιϑτ΢ΣΞ
    ઓུత

    ઃܭ
    ઓज़త

    ઃܭ
    Ϟσϧͷ࣮૷

    View Slide

  14. ܰྔ%%%ͱݴΘΕΔ΋ͷ

    ιϑτ΢ΣΞԽର৅ͷݱ࣮ੈք
    υϝΠϯ
    ιϑτ΢ΣΞ
    ઓज़త

    ઃܭ
    left blank
    Ϟσϧͷ࣮૷

    View Slide

  15. Ξϓϩʔνͷछྨ

    υϝΠϯ
    Ϟσϧ
    ιϑτ΢ΣΞ
    ઓུత

    ઃܭ
    ઓज़త

    ઃܭ
    υϝΠϯ
    ιϑτ΢ΣΞ
    ઓज़త

    ઃܭ
    υϝΠϯ
    ιϑτ΢ΣΞ
    ੈͷதͷଟ͘ͷ
    ιϑτ΢ΣΞ
    ܰྔ%%% %%%

    View Slide

  16. %%%ͷ໨తͬͯͳΜ͚ͩͬ

    View Slide

  17. ࠶ܝ
    େࣄͳͷ͸͜͜

    ιϑτ΢ΣΞԽର৅ͷݱ࣮ੈք
    ໰୊ղܾͷͨΊʹɺ
    ෺ࣄͷಛఆͷଆ໘Λந৅Խͨ͠΋ͷ
    υϝΠϯ
    Ϟσϧ
    ιϑτ΢ΣΞ
    ઓུత

    ઃܭ
    ઓज़త

    ઃܭ
    Ϟσϧͷ࣮૷

    View Slide

  18. ઓज़ΑΓ΋ઓུͷ΄͏͕ॏཁ

    ઓज़త

    ઃܭ
    ઓུత

    ઃܭ
    ϢϏΩλεݴޠ
    ϞσϦϯά
    ϨΠϠʔυΞʔΩςΫνϟ
    υϝΠϯΤΩεύʔτ
    ΦχΦϯΞʔΩςΫνϟ
    &OUJUZ
    7BMVF0CKFDU
    ڥք͚ͮΒΕͨίϯςΩετ

    View Slide


  19. Ͱ΋ੈͷதɺઓज़ͷ࿩୊ͷํ͕ଟ͘ͳ͍ʁ

    View Slide


  20. ઓज़ͱઓུΛΠϝʔδͯ͠ΈΔ

    View Slide

  21. ઓज़ͷΠϝʔδ

    େྔͷఢ
    ਖ਼໘ಥഁ
    ઓज़
    ରԠίετ
    ఢͷڧ͞
    ઓज़ͳ͠ ઓज़͋Γ
    ʓʓਞܗ

    View Slide

  22. ઓज़తઃܭͷ࠾༻

    ࣗࠃ ΤϯδχΞνʔϜ
    ͚ͩͰ׬݁͢ΔͷͰ
    औΓೖΕ΍͍͢

    View Slide

  23. ઓུͷΠϝʔδ

    େྔͷఢ
    ઓུ
    ྡࠃͷ஥ؒ
    ྡࠃͷ஥ؒ
    ରԠίετ
    ఢͷڧ͞
    ઓज़ͳ͠ ઓज़͋Γ ઓུ͋Γ

    View Slide

  24. ઓུతઃܭͷ࠾༻

    ଞࠃ ϏδωεαΠυ
    ΋ר͖ࠐ·ͳ͍ͱ
    ͍͚ͳ͍ͷͰେม
    Ͱ΋ר͖ࠐΊͨΒڧ͍

    View Slide

  25. ͰɺΦεεϝͷઓ͍ํ͸ʁ

    • %%%ෆ࠾༻ʁ
    • ܰྔ%%%ʁ
    • %%%ʁ

    View Slide


  26. ࣮૷ίετ
    ର৅υϝΠϯͷෳࡶ͞
    ઓज़ͳ͠ ઓज़͋Γ ઓུ͋Γ
    %%%ෆཁ ܰྔ%%% %%%
    ର৅υϝΠϯͷෳࡶ͞Λߟ͑Α͏
    • ଟ͘ͷιϑτ΢ΣΞ͕ѻ͍ͬͯ
    ΔυϝΠϯͷෳࡶ͞͸%%%͕ඞ
    ཁͳϨϕϧ
    • ࠓ͸ܰྔ%%%͕࠷దͳυϝΠϯ
    Λର৅ͱ͍ͯͯ͠΋ɺ਺೥ޙʹ
    ͸ର৅ͱͳΔυϝΠϯ͕૿͑ͯ
    ෳࡶ͕͞૿͢͜ͱ΋ଟ͍
    ෳࡶ͞ͷ໌֬ͳج४͸ʮ࣮ફυϝΠϯۦಈઃܭʯͷຊΛࢀর

    View Slide

  27. ٳܜ☕

    View Slide

  28. େࣄͳϞσϧͷ࿩

    ιϑτ΢ΣΞԽର৅ͷݱ࣮ੈք
    ໰୊ղܾͷͨΊʹɺ
    ෺ࣄͷಛఆͷଆ໘Λந৅Խͨ͠΋ͷ
    υϝΠϯ
    Ϟσϧ
    ιϑτ΢ΣΞ
    ઓུత

    ઃܭ
    ઓज़త

    ઃܭ
    Ϟσϧͷ࣮૷

    View Slide


  29. ໰୊ղܾͷͨΊʹɺ
    ෺ࣄͷಛఆͷଆ໘Λந৅Խͨ͠΋ͷ
    Ϟσϧͱ͸

    View Slide

  30. εϚʔτϑΥϯͷྫ

    • ݱ࣮ʹ͸਺ଟ͘ͷཁૉ͕͋Δ
    • ػछ໊
    • ϝʔΧʔ
    • 04
    • ॴ༗ऀ
    • Ϙλϯͷ਺
    • ইͷ༗ແ
    • ॴ༗ྺ
    • FUDʜ

    View Slide

  31. ৽඼εϚϗͷൢചΛର৅ͷυϝΠϯͱ͢Δ

    • ݱ࣮ʹ͸਺ଟ͘ͷཁૉ͕͋Δ
    • ػछ໊
    • ϝʔΧʔ
    • 04
    • ॴ༗ऀ
    • Ϙλϯͷ਺
    • ইͷ༗ແ
    • ॴ༗ྺ
    • FUDʜ
    ໰୊ղܾʹ
    ͜ͷ৘ใ͸
    ෆཁ
    Ϟσϧͱ͸ʜ໰୊ղܾͷͨΊʹɺ෺ࣄͷಛఆͷଆ໘Λந৅Խͨ͠΋ͷ

    View Slide

  32. ໰୊ղܾͷͨΊʹɺ෺ࣄͷಛఆͷଆ໘Λந৅Խ͢Δͱ

    Ϟσϧͱ͸ʜ໰୊ղܾͷͨΊʹɺ෺ࣄͷಛఆͷଆ໘Λந৅Խͨ͠΋ͷ
    ݱ࣮ੈքΛϞσϧԽ

    View Slide

  33. ѱ͍Ϟσϧͱ͸ʜ໰୊ղܾ͕Ͱ͖ͳ͍Ϟσϧ

    Ϟσϧͱ͸ʜ໰୊ղܾͷͨΊʹɺ෺ࣄͷಛఆͷଆ໘Λந৅Խͨ͠΋ͷ
    ϓϥϯ͸
    Ͳ͏͠·͔͢ʁ
    ϓϥϯ͕දݱͰ͖ͳ͍ʜ

    View Slide


  34. ΋͏গ͠ෳࡶͰݱ࣮తͳྫΛߟ͑ͯΈΔ

    View Slide

  35. ࿀׆αʔϏε

    ͭͷओཁͳυϝΠϯͰߏ੒͞Ε͍ͯΔ
    ࿀ਓީิ
    Λݕࡧ
    ؾʹͳͬͨਓͱ
    ϝοηʔδ
    ಈըͰ
    ࣗݾ঺հ

    View Slide

  36. ϞσϦϯάͯ͠ΈΔ

    ແྉϢʔβ
    Ͱ΋Մೳ
    ༗ྉϢʔβ
    ͷΈՄೳ
    ϓϨϛΞϜϢʔβ
    ͷΈՄೳ
    ࿀ਓީิ
    Λݕࡧ
    ؾʹͳͬͨਓͱ
    ϝοηʔδ
    ಈըͰ
    ࣗݾ঺հ

    View Slide

  37. ͜ΕΛιϑτ΢ΣΞͰ࣮૷͢Δͱʜ

    ແྉϢʔβ
    Ͱ΋Մೳ
    ༗ྉϢʔβ
    ͷΈՄೳ
    ϓϨϛΞϜϢʔβ
    ͷΈՄೳ
    JG [email protected]@VTFS
    \

    SBJTF"VUIPSJ[BUJPO&SSPS
    ^
    ʜ
    JG [email protected]@VTFS
    \

    SBJTF"VUIPSJ[BUJPO&SSPS
    ^
    JG [email protected]
    \

    SBJTF"VUIPSJ[BUJPO&SSPS
    ^
    ʜ
    JG [email protected]
    \

    SBJTF"VUIPSJ[BUJPO&SSPS
    ^
    ࿀ਓީิ
    Λݕࡧ
    ؾʹͳͬͨਓͱ
    ϝοηʔδ
    ಈըͰ
    ࣗݾ঺հ
    • ೝՄʹؔ͢ΔJGจ͕େྔʹग़ݱ
    • JGจͷॻ͖๨ΕͰແྉϢʔβͰ΋༗ྉ
    Ϣʔβ޲͚ػೳ͕࢖͑Δόά͕ʜ

    View Slide

  38. CFUUFSͳϞσϦϯά

    ࿀ਓީิ
    Λݕࡧ
    ؾʹͳͬͨਓͱ
    ϝοηʔδ
    ಈըͰ
    ࣗݾ঺հ
    ແྉϢʔβ
    Ͱ΋ͳΕΔ
    ༗ྉϢʔβ
    ͷΈͳΕΔ
    ϓϨϛΞϜϢʔβ
    ͷΈͳΕΔ
    • ೝՄ͸֤υϝΠϯͷϢʔβΛ
    ࡞੒͢Δ࣌ʹ౓͚ͩߦ͏

    View Slide


  39. ϞσϦϯά ઓུ
    ͷউར

    View Slide

  40. ࠶ܝ
    େࣄͳϞσϧͷ࿩

    ιϑτ΢ΣΞԽର৅ͷݱ࣮ੈք
    ໰୊ղܾͷͨΊʹɺ
    ෺ࣄͷಛఆͷଆ໘Λந৅Խͨ͠΋ͷ
    υϝΠϯ
    Ϟσϧ
    ιϑτ΢ΣΞ
    ઓུత

    ઃܭ
    ઓज़త

    ઃܭ
    Ϟσϧͷ࣮૷
    %%%ͷ໨త͸ʮϞσϦϯάΛ௨ͯ͡ιϑτ΢ΣΞͷՁ஋ΛߴΊΔʯ͜ͱ

    View Slide


  41. ࣮૷ίετ
    ର৅υϝΠϯͷෳࡶ͞
    ઓज़ͳ͠ ઓज़͋Γ ઓུ͋Γ
    %%%ෆཁ ܰྔ%%% %%%
    ͖ͬ͞ΑΓೲಘײ͋Γ·͔͢ʁ

    View Slide


  42. ࣮૷ίετ
    ର৅υϝΠϯͷෳࡶ͞
    ઓज़ͳ͠ ઓज़͋Γ ઓུ͋Γ
    %%%ෆཁ ܰྔ%%% %%%
    ιϑτ΢ΣΞͷ৔߹͸͜ͷํ͕ഽײʹ͍ۙ
    0 /?
    ͳܗ

    View Slide

  43. ྑ͍ϞσϧΛͭ͘Δʹ͸

    • ڥք͚ͮΒΕͨίϯςΩετΛ໌Β͔ʹ͢Δ
    • ։ൃऀ͚ͩͰ͸ͳ͘ɺϏδωεଆͷਓͱ΋ಉ͡ݴ༿Λ࢖͏ ϢϏΩλεݴޠ

    • ͦΕʹΑΓɺυϝΠϯʹৄ͍͠ਓ υϝΠϯΤΩεύʔτ
    ͔Β஌ࣝΛಘΔ
    • ӡ༻ͯ͠ಘͨ஌ݟΛܧଓతʹϞσϧʹϑΟʔυόοΫ͢Δ
    ීஈͳΜͱͳ͘΍͍ͬͯΔؾ΋͢Δ

    View Slide

  44. υϝΠϯϞσϧਤΛڞ௨ݴޠͱͯ͠ॻ͘ͷ͕Φεεϝ

    • ΫϥεਤʹͦͷϞσϧ͕͍࣋ͬͯΔ੍໿஌ࣝΛ௥ه
    • Ϗδωεଆ΋ίʔυΛಡ·ͳͯ͘΋࢓༷͕೺ѲͰ͖Δ
    • 5%%ͱ૬ੑ͕ྑ͍

    View Slide

  45. ྑ͍Ϟσϧ͕Ͱ͖ͨΒ࣍͸࣮૷

    %%%ͷ໨త͸ʮϞσϦϯάΛ௨ͯ͡ιϑτ΢ΣΞͷՁ஋ΛߴΊΔʯ͜ͱ
    ιϑτ΢ΣΞԽର৅ͷݱ࣮ੈք
    ໰୊ղܾͷͨΊʹɺ
    ෺ࣄͷಛఆͷଆ໘Λந৅Խͨ͠΋ͷ
    υϝΠϯ
    Ϟσϧ
    ιϑτ΢ΣΞ
    ઓུత

    ઃܭ
    ઓज़త

    ઃܭ
    Ϟσϧͷ࣮૷

    View Slide

  46. ྑ͍ιϑτ΢ΣΞΛ࡞Δʹ͸

    • Ϟσϧ͸ܧଓతʹվળ͞ΕΔͷͰɺͦΕΛܧଓతʹ൓өͰ͖Διϑτ΢ΣΞ͕ٻ
    ΊΒΕΔ
    • සൟͳมߋʹ଱͑͏Δʹ͸ɺ֦ுੑͷߴ͍ઃܭ͕ඞཁ
    • &OUJUZ΍3FQPTJUPSZͳͲͷσβΠϯύλʔϯΛ࢖༻
    • ڥք͚ͮΒΕͨίϯςΩετΛҙࣝͨ͠ઃܭ
    • ίϯςΩετ͝ͱʹϚΠΫϩαʔϏεԽ͢Δ
    ઓज़తઃܭͷ͸ͳ͠

    View Slide


  47. ࣍ճʹଓ͘ʜ

    View Slide