Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

࠷ۙͷ׆ಈ • DDD+CQRS+ESͷΑ͏ͳɺDDDΛϕʔεʹ ReactiveͳγεςϜΛษڧͨ͠Γ͍ͯ͠·͢ɻ

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

͸͡ΊͷҰจ ඥղ͘

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

·ͱΊ • ϢϏΩλεݴޠ͸νʔϜશһͰ߹ҙ͠૑Δ΋ͷ • ϢϏΩλεݴޠ͸ɺ෼ੳɾϞσϦϯάΛܦͯಘΔදग़ • Ͳ͜Ͱ΋࢖͏ɻίʔυʹݶΒͣɺλεΫ΍ػೳΛهड़͢ΔͨΊʹ΋ ࢖ΘΕͳ͚Ε͹ͳΒͳ͍ɻগͳ͘ͱ΋νʔϜ಺ͷ͋ΒΏΔ৔໘Ͱɻ • ϢϏΩλεݴޠ͸ɺઃܭʹ͋ͬͯίʔυʹݱΕͳ͍ଆ໘Λ఻ୡ͢Δ ͨΊͷओཁͳखஈ(p.27) • ݴޠ͸ϞσϧΛ࣮ݧ͢Δɻ͜ͷϑΟʔυόοΫϧʔϓʹΑΓ஌ࣝ๛෋ ͳϞσϧΛݟ͚ͭग़͠ɺͦͷϞσϧΛৠཹͰ͖ΔΑ͏ʹͳΔɻ(p.14)