DDD ユビキタス言語再考 / Rethink the ubiquitous language

DDD ユビキタス言語再考 / Rethink the ubiquitous language

社内LT用資料
なお、5分にはおさまらなかった模様...

補足を書きました。
http://yoskhdia.hatenablog.com/entry/2016/05/22/182605

65cc101435ac36057f2a2c80244c4c6e?s=128

Yoshitaka Okuda

May 12, 2016
Tweet

Transcript

  1. DDD ϢϏΩλεݴޠ࠶ߟ 2016/05/12
 @yoskhdia ࣾ಺LT

  2. About me • ԞాՂڗʢYoshitaka Okudaʣ • גࣜձࣾSocketʢKDDI Syn.ϗʔϧσΟϯάεάϧʔϓʣ
 ΞʔΩςΫτ •

    Twitter @yoskhdia • interested in DDD/Scala/C#/Reactive System/
 Architect/System Thinking/Team Building/
 Agile/ܦӦ৘ใֶ/On-Road Bike
  3. ࠷ۙͷ׆ಈ • DDD+CQRS+ESͷΑ͏ͳɺDDDΛϕʔεʹ ReactiveͳγεςϜΛษڧͨ͠Γ͍ͯ͠·͢ɻ

  4. ϢϏΩλεݴޠ࠶ߟ վΊͯDDDຊୈ̎ষΛಡΉ

  5. Α͋͘Δޡղ ʮϢϏΩλεݴޠʹϢʔβͷݴ༿ʯ

  6. ࣮ફ͢Δ·Ͱ͸ ๻΋ͦ͏ࢥ͍ͬͯ·ͨ͠… ॻ੶Λಡ·ͣʹωοτͷ৘ใʹཔΔͱؕΓ΍͍͢Α͏ͳʁ

  7. ϢϏΩλεݴޠ͸Կނඞཁʁ

  8. –ॻ੶ʮυϝΠϯۦಈઃܭʯ(p.24) “͠ͳ΍͔Ͱ஌ࣝ๛෋ͳઃܭΛߦ͏ʹ͸ɺ ༻్ͷ෯޿͍ɺڞ༗͞ΕͨνʔϜͷݴޠ ͱɺͦͷݴ༿Λ࢖ͬͨ׆ൃͳ࣮ݧ͕ඞཁ Ͱ͋Δɻ”

  9. ͸͡ΊͷҰจ ඥղ͘

  10. Ϟσϧ • ͋Δ໰୊ʹରͯ͠ղܾࡦͷදݱ • Ϟσϧ͸ཧղͷͨΊͷ΋ͷͳͷͰɺઃܭ͢Δ͏͑Ͱ ͸Կʢଆ໘ʣΛϞσϧԽ͢Δ͔બ୒͢Δ
 ˠͳͥͳΒɺղܾࡦ͸ෳ਺ଘࡏ͢Δ • ϢʔβʢυϝΠϯΤΩεύʔτʣ΋։ൃऀ΋ಉ͡Ϟ σϧΛڞ༗͢Δ͜ͱ͕େࣄ

    • ϞσϧΛڞ༗͠ଓ͚Δʹ͸ڧݻͳڞ௨ݴޠ͕ඞཁ
  11. –ॻ੶ʮυϝΠϯۦಈઃܭʯ(p.26) “ϞσϧΛݴޠͷࠎ֨ͱͯ͠࢖༻͢Δ͜ ͱɻʢதུʣݴޠΛ࢖͏্Ͱ໰୊͕͋Ε ͹ɺ୅ΘΓͷදݱΛ༻͍࣮ͯݧ͢Δ͜ͱ Ͱɺ໰୊ΛऔΓআ͘͜ͱɻ”

  12. DDDຊͷఆٛ • ͍ͭ΋Ϟσϧ͕࠷ળͱ͸ݶΒͳ͍ • ۀ຿΍࣌ΛܦͯಘΔ஌ݟ͔Β৽͍͠ϞσϧΛൃ ݟ͢Δ͜ͱ΋͋Δ • Ϟσϧͷ͔֬͞Λݴޠͷෆࣗવ͔͞Βݕূ͢Δ • ͲΜͳͱ͖΋ڞ௨ݴޠΛ࢖͏͜ͱͰࣗવͳؾ

    ͖ͮΛଅ͢
  13. “υϝΠϯΤΩεύʔτ͸ɺυϝΠϯʹͭ ͍ͯͷཧղΛ఻͑Δʹ͸࢖͍ʹ͔ͬͨ͘ Γෆద੾ͩͬͨΓ͢Δ༻ޠ΍ߏ଄ʹҟٞ Λএ͑Δ΂͖Ͱ͋Γɺ։ൃऀ͸ɺઃܭΛ ๦֐͢Δ͜ͱʹͳΔ͍͋·͍͞΍ෆ੔߹ ʹ໨ΛޫΒͤΔ΂͖Ͱ͋Δɻ” –ॻ੶ʮυϝΠϯۦಈઃܭʯ(p.27)

  14. ୭͠΋ࢥߟͷໃ६΍ᐆດ͞Λ ๊͍͑ͯΔɻ ࢧ͑߹͏ɻ

  15. “·ͩϞσϧԽ͞Ε͍ͯͳ͍ػೳʹ͍ͭ ͯɺϢʔβ͕ٞ࿦͢Δ࣌ʹ͸ɺ࢖༻Ͱ͖ ΔϞσϧ͸ଘࡏ͠ͳ͍ɻ͔͠͠ɺ൴Β͕ ։ൃऀͱҰॹʹ৽͍͠ΞΠσΞΛݕ౼͠ ࢝ΊΔͱ͙͢ʹɺڞ༗͞ΕΔϞσϧ΁޲ ͔͏ख୳Γͷϓϩηε͕։࢝͞ΕΔɻॳ Ί͸͗ͪ͜ͳͯ͘ෆ׬શ͔΋͠Εͳ͍͕ɺ ࣍ୈʹվྑ͞Ε͍ͯ͘ɻ” –ॻ੶ʮυϝΠϯۦಈઃܭʯ(p.32)

  16. ϞσϧΛ৭ʑࢼ͢ɺ Ϟσϧͱ֓೦Λ݁ͼ͚ͭͳ͕Β੠ʹͯ͠ΈΔɺ ΑΓ؆୯ʹݴ͑Δํ๏Λݟ͚ͭΔɺ ͦͷ৽͍͠ߟ͑ํΛਤͱίʔυʹ࠶ͼ൓ө͢Δ

  17. ·ͱΊ • ϢϏΩλεݴޠ͸νʔϜશһͰ߹ҙ͠૑Δ΋ͷ • ϢϏΩλεݴޠ͸ɺ෼ੳɾϞσϦϯάΛܦͯಘΔදग़ • Ͳ͜Ͱ΋࢖͏ɻίʔυʹݶΒͣɺλεΫ΍ػೳΛهड़͢ΔͨΊʹ΋ ࢖ΘΕͳ͚Ε͹ͳΒͳ͍ɻগͳ͘ͱ΋νʔϜ಺ͷ͋ΒΏΔ৔໘Ͱɻ • ϢϏΩλεݴޠ͸ɺઃܭʹ͋ͬͯίʔυʹݱΕͳ͍ଆ໘Λ఻ୡ͢Δ

    ͨΊͷओཁͳखஈ(p.27) • ݴޠ͸ϞσϧΛ࣮ݧ͢Δɻ͜ͷϑΟʔυόοΫϧʔϓʹΑΓ஌ࣝ๛෋ ͳϞσϧΛݟ͚ͭग़͠ɺͦͷϞσϧΛৠཹͰ͖ΔΑ͏ʹͳΔɻ(p.14)