Slide 1

Slide 1 text

1 Takasy
 @takattata iOSDCrc02 WHAT’S DDD?

Slide 2

Slide 2 text

2 ໨࣍ ໨࣍ 1. ͜ͷൃදͷ໨ඪ 2. DDDͷར఺͸ʁ 3. DDD͸Ͳ͏͍͏΋ͷʁ 4. ࣍΁ͷҰา

Slide 3

Slide 3 text

3 ʢͲΜͳൃදΛ͢Δͭ΋Γʁʣ ͜ͷൃදͷ໨ඪ

Slide 4

Slide 4 text

4 ͜ͷൃදͷ໨ඪ DDD

Slide 5

Slide 5 text

5 ͜ͷൃදͷ໨ඪ DDD ։ൃख๏ʁ ϨΠϠʔυΞʔΩςΫνϟʁ େن໛։ൃͰ࢖͏ʁ ೉ͦ͠͏ͩΑͳʁ

Slide 6

Slide 6 text

6 ͜ͷൃදͷ໨ඪ DDD Domain Driven Design
 ʮυϝΠϯۦಈઃܭʯ ް͞3cm

Slide 7

Slide 7 text

7 ͜ͷൃදͷ໨ඪ DDD Domain Driven Design
 ʮυϝΠϯۦಈઃܭʯ ް͞3cm શମ૾Λͬ͘͟ΓͰ΋೺Ѳ͍ͯ͠ͳ͍ͱ… ࠳ં཰UP↑(ଟ෼)

Slide 8

Slide 8 text

8 ͜ͷൃදͷ໨ඪ ໨ඪ ;Θͬͱશମ૾Λ஌ͬͯ΋Β͏ Ұ൪ݴ͍͍ͨ͜ͱɿ”ڵຯ࣋ͬͨΒੋඇҰॹʹษڧ͍͖ͯ͠·ͤΜ͔ʂ” શମ૾Λ஌Δ औΓ૊ΜͰΈΔ ͔ͬ͠ΓֶͿ ;Θͬͱ

Slide 9

Slide 9 text

9 ʢΠϯϓοτ͢Δલʹ͞ɺͦ΋ͦ΋ඞཁͳͷʁઃܭͰ͠ΐʁʣ DDDͷར఺͸ʁ

Slide 10

Slide 10 text

10 %%%ͷར఺͸ʁ “։ൃऀͱඇ։ൃऀͷίϛϡχέʔγϣϯ͕
 ׬શʹεϜʔζʹͳΔ”

Slide 11

Slide 11 text

11 • ઐ໳ಉ࢜ؒͰͷ຋༁ͷίετ͕ͳ͍ • ஌ࣝͷౝ͕Ͱ͖ͳ͍ • ઃܭ͕ίʔυͰ͋Γɺίʔυ͕ઃܭͰ͋Δ %%%ͷར఺͸ʁ Ͳ͏͍͏͜ͱʁ

Slide 12

Slide 12 text

12 ৽͘͠ೖͬͨΤϯδχΞ ※΄͔ΤϯδχΞશ໓த ಉ͡νʔϜͷσΟϨΫλʔ ʁ ʁ ʁ ͜͏͍͏ڍಈ ͷҝͰ͢ %%%ͷར఺͸ʁ ͳͥ͜ͷ࣮૷ʹʁ

Slide 13

Slide 13 text

13 DDD͸Ͳ͏͍͏΋ͷʁ ʢ;Ήɺཧ૝ͩͶɻͲΜͳ͜ͱΛͨ͠Βͦ͏ͳΔͬͯʁʣ

Slide 14

Slide 14 text

14 %%%͸Ͳ͏͍͏΋ͷʁ ఆٛ ։ൃऀͱυϝΠϯΤΩεύʔτ͕ڠྗͯ͠ɺ
 υϝΠϯΛ൓өͨ͠ϞσϧʢυϝΠϯϞσϧʣΛ࡞Γ্͛Δ

Slide 15

Slide 15 text

15 %%%͸Ͳ͏͍͏΋ͷʁ WHAT’S υϝΠϯʁ ιϑτ΢ΣΞΛద༻͢Δର৅ྖҬ ྫ. ձܭιϑτͳΒʮձܭۀ຿ʯ

Slide 16

Slide 16 text

16 %%%͸Ͳ͏͍͏΋ͷʁ ఆٛ ։ൃऀͱυϝΠϯΤΩεύʔτ͕ڠྗͯ͠ɺ
 υϝΠϯΛ൓өͨ͠ϞσϧʢυϝΠϯϞσϧʣΛ࡞Γ্͛Δ

Slide 17

Slide 17 text

17 %%%͸Ͳ͏͍͏΋ͷʁ ࠓͷൢചܗଶ͕૿͑ͨ Γ͢Δʁ ͜ͷίʔυͷߏ੒͸Ͳ ͏͍͏ҙਤ͕͋Δʁ WHAT’S υϝΠϯΤΩεύʔτʁ

Slide 18

Slide 18 text

18 %%%͸Ͳ͏͍͏΋ͷʁ ࠓͷൢചܗଶ͕૿͑ͨ Γ͢Δʁ ͜ͷίʔυͷߏ੒͸Ͳ ͏͍͏ҙਤ͕͋Δʁ WHAT’S υϝΠϯΤΩεύʔτʁ →σΟϨΫλʔ →ΤϯδχΞ ࣗ෼ΑΓৄ͍͠ਓʹฉ͘

Slide 19

Slide 19 text

19 %%%͸Ͳ͏͍͏΋ͷʁ ఆٛ ։ൃऀͱυϝΠϯΤΩεύʔτ͕ڠྗͯ͠ɺ
 υϝΠϯΛ൓өͨ͠ϞσϧʢυϝΠϯϞσϧʣΛ࡞Γ্͛Δ

Slide 20

Slide 20 text

20 %%%͸Ͳ͏͍͏΋ͷʁ WHAT’S υϝΠϯϞσϧʁ υϝΠϯΛద੾ʹ൓өͨ͠ίʔυʹམͱ͠ࠐΉલͷϞσϧ ಉ͡΋ͷΛࢥ͍ු͔΂ ಉ͡ղऍΛ͢Δ

Slide 21

Slide 21 text

21 %%%͸Ͳ͏͍͏΋ͷʁ ఆٛ ։ൃऀͱυϝΠϯΤΩεύʔτ͕ڠྗͯ͠ɺ
 υϝΠϯΛ൓өͨ͠ϞσϧʢυϝΠϯϞσϧʣΛ࡞Γ্͛Δ

Slide 22

Slide 22 text

22 %%%͸Ͳ͏͍͏΋ͷʁ ๯಄ͷମݧஊΑΓ ϓϦϯτج൫(PCB)ͷιϑτ΢ΣΞπʔϧΛઃܭ͢Δ͜ͱʹ PCBઃܭऀ ΤϰΝϯεࢯ ߟ͍͑ͯΔ
 ιϑτ΢ΣΞ ඈ༂త޲্ʹ͸ͭͳ͕Βͳ͍
 ˠ൴Βͷཁٻʹ͍ͭͯ࿩͠߹͓͏

Slide 23

Slide 23 text

23 %%%͸Ͳ͏͍͏΋ͷʁ ༻ޠͷෆҰக΍͍͋·͍͞
 ݟղͷ૬ҧΛ
 Ұॹʹղܾ͍ͯ͘͠

Slide 24

Slide 24 text

24 %%%͸Ͳ͏͍͏΋ͷʁ ٞ࿦ΛਐΊ
 ϞσϧΛվྑ͠੒௕ͤ͞Δ

Slide 25

Slide 25 text

25 %%%͸Ͳ͏͍͏΋ͷʁ ։ൃऀ υϝΠϯ
 ΤΩεύʔτ υϝΠϯ ʹର͢Δ஌ࣝ΍ ߟ͑ ର࿩ ৠཹ υϝΠϯϞσϧ ࣮૷ ઃܭ දݱ ܁Γฦ͢

Slide 26

Slide 26 text

26 %%%͸Ͳ͏͍͏΋ͷʁ ։ൃऀ υϝΠϯ
 ΤΩεύʔτ υϝΠϯ ʹର͢Δ஌ࣝ΍ ߟ͑ ର࿩ ৠཹ υϝΠϯϞσϧ ࣮૷ ઃܭ දݱ ܁Γฦ͢ ઃܭ͕ίʔυͰ͋Γɺίʔυ͕ઃܭͰ͋Δ

Slide 27

Slide 27 text

27 %%%͸Ͳ͏͍͏΋ͷʁ ։ൃऀ υϝΠϯ
 ΤΩεύʔτ υϝΠϯ ʹର͢Δ஌ࣝ΍ ߟ͑ ର࿩ ৠཹ υϝΠϯϞσϧ ࣮૷ ઃܭ දݱ ܁Γฦ͢ ઓུతઃܭ

Slide 28

Slide 28 text

28 %%%͸Ͳ͏͍͏΋ͷʁ ։ൃऀ υϝΠϯ
 ΤΩεύʔτ υϝΠϯ ʹର͢Δ஌ࣝ΍ ߟ͑ ର࿩ ৠཹ υϝΠϯϞσϧ ࣮૷ ઃܭ දݱ ܁Γฦ͢ ઓུతઃܭ ઓज़తઃܭ

Slide 29

Slide 29 text

29 %%%͸Ͳ͏͍͏΋ͷʁ ઓུతઃܭ ϢϏΩλεݴޠ ڥք͚ͮΒΕͨίϯςΩετ ίϯςΩετϚοϓ … ڥք͚ͮΒΕͨίϯςΩετ υϝΠϯϞσϧ

Slide 30

Slide 30 text

30 ࣍΁ͷҰา ʢࣗ෼Ͱ΋ֶͼ͍ͨΜ͚ͩͲɺͲ͏ֶͿͱ͍͍ʁʣ

Slide 31

Slide 31 text

31 ͦͷޙ͸Ͳ͏͢Ε͹͍͍ʁ ࢀߟจݙ • ॳΊͷҰาʹ͓͢͢Ίɿ
 ʮΘ͔ΔʂυϝΠϯۦಈઃܭʯ • શମ૾Λ௫Ήࡍʹ͓͢͢Ίɿ
 ʮHow to apply DDD to Android Application Developmentʯ
 ʮAll you need is isolating the domainʯ • งғؾ௫Έ΍͍͢ಈը(ӳޠ)ɿ
 ʮDDD Strategic Design in under 15minutesʯ • ඞಡॻ2࡭

Slide 32

Slide 32 text

32 ͦͷޙ͸Ͳ͏͢Ε͹͍͍ʁ ॳΊͷҰาʹ͓͢͢Ί https://booth.pm/ja/items/392260 ిࢠॻ੶: ¥1000
 A5૬౰Ͱ60p

Slide 33

Slide 33 text

33 ͦͷޙ͸Ͳ͏͢Ε͹͍͍ʁ ಈըɿhttps://academy.realm.io/jp/ posts/droidkaigi17-how-to-apply-ddd- to-android-application-development/ http://y-anz-m.blogspot.com/2017/03/ droidkaigi-2017_9.html શମ૾Λ௫Ήࡍʹ͓͢͢Ί

Slide 34

Slide 34 text

34 ͦͷޙ͸Ͳ͏͢Ε͹͍͍ʁ શମ૾Λ௫Ήࡍʹ͓͢͢Ί ಈըɿhttps://www.youtube.com/ watch?v=glasB4fF15Q http://y-anz-m.blogspot.com/2018/02/ android.html

Slide 35

Slide 35 text

35 ͦͷޙ͸Ͳ͏͢Ε͹͍͍ʁ งғؾ௫Έ΍͍͢ಈը https://www.youtube.com/watch? v=Evers5npkmE&index=2&list=LLIgL_CMaapXHyn37_qsEJHg&t=0s

Slide 36

Slide 36 text

36 ͦͷޙ͸Ͳ͏͢Ε͹͍͍ʁ ඞಡॻ ిࢠॻ੶ɿhttp://amzn.asia/d/1OQbl4z ෺ཧຊɿhttp://amzn.asia/d/aFG8bI2

Slide 37

Slide 37 text

37 ͦͷޙ͸Ͳ͏͢Ε͹͍͍ʁ ిࢠॻ੶ɿhttp://amzn.asia/d/7x1z6zb ෺ཧຊɿhttp://amzn.asia/d/bMBhK3m ඞಡॻ

Slide 38

Slide 38 text

38 ͜ͷൃදͷ໨ඪ શମ૾Λ஌Δ औΓ૊ΜͰΈΔ ͔ͬ͠ΓֶͿ ;Θͬͱ

Slide 39

Slide 39 text

39 Let’s study DDD!!