Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
ユースケース駆動開発入門 (理論・実践編)
s10myk4
March 26, 2018
Programming
10
3.6k
ユースケース駆動開発入門 (理論・実践編)
社内勉強会のワークショップで使用した資料です
s10myk4
March 26, 2018
Tweet
Share
More Decks by s10myk4
See All by s10myk4
新卒向けDDD(+ 要件定義/分析)研修資料
s10myk4
0
280
プロダクトオーナー向けユースケース駆動開発入門
s10myk4
0
280
Compile Time DIのススメ
s10myk4
3
820
Scalaの線形化と抽象型メンバーの統一のジレンマ
s10myk4
3
900
Other Decks in Programming
See All in Programming
Scaling Productivity- How we have improved our dev experience
sockeqwe
1
120
パラメタライズドテスト
ledsun
0
220
これからのスクラムマスターのキャリアプランの話をしよう - スクラムマスターの前に広がる世界
psj59129
0
200
ちょっとつよい足トラ
logilabo
0
370
Babylon.jsで作ったsceneをレイトレーシングで映えさせる
turamy
1
210
閱讀原始碼 - 再戰十年的 jQuery
eddie
1
290
OSS貢献を気軽にしたい Let's Go Talk #1
yuyaabo
2
230
ふんわり理解するcontext
rukiadia
1
180
Pythonによる開発をアップデートするライブラリの紹介
daikikatsuragawa
1
410
Rector, time to refactor your code easily
guikingone
2
150
Edge Side Frontend という新領域
mizchi
22
10k
Records の使い方はこれでいいの? をみんなで考えたい / Java DO #20
gishi_yama
0
110
Featured
See All Featured
Bash Introduction
62gerente
598
210k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_i
25
15k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
119
28k
Product Roadmaps are Hard
iamctodd
35
6.8k
Build your cross-platform service in a week with App Engine
jlugia
219
17k
Making Projects Easy
brettharned
98
4.4k
A Modern Web Designer's Workflow
chriscoyier
689
180k
GraphQLとの向き合い方2022年版
quramy
16
8.4k
Robots, Beer and Maslow
schacon
152
7.1k
How GitHub (no longer) Works
holman
297
140k
The Brand Is Dead. Long Live the Brand.
mthomps
46
2.7k
Three Pipe Problems
jasonvnalue
89
8.7k
Transcript
Ϣʔεέʔεۦಈ։ൃΛ࣮ફ͢Δ ࣾษڧձ 2017/10/03 Լଜ๎೭
ΞδΣϯμ • Ϣʔεέʔεۦಈ։ൃͱʁ • ICONIXͱʁ • ͳͥϢʔεέʔεۦಈ։ൃ͕ඞཁͳͷ͔ʁ • Ϣʔεέʔεهड़ͷׂͱʁ •
ϩόετωεੳͷׂͱʁ • શମͷྲྀΕΛΠϝʔδ͢Δ • ݱঢ়ͷ՝ • ·ͱΊ • Ͳ͏ͬͯॻ͘ͷʁ ~ೖฤ~ • Ϣʔεέʔεهड़ • ॻ͖ํ/ϙΠϯτ • ԋश • ϩόετωεਤ • ॻ͖ํ/ϙΠϯτ • ԋश • HaKaSeͰͷ۩ମతͳ࣮ફྫ • ಋೖ͢Δ্Ͱߟ͑Δ͜ͱ ཧฤ ࣮ફฤ
ཧฤ
Ϣʔεέʔεۦಈ։ൃͱʁ
ICONIXϓϩηεͱʁ • ཁٻ • ػೳཁٻ • υϝΠϯϞσϦϯά • ৼΔ͍ཁٻ •
ཁٻϨϏϡʔ • ੳ/༧උઃܭ • ϩόετωεੳ • Ϣʔεέʔεهड़Λߋ৽ / υϝΠϯϞσϧΛߋ৽ • ༧උઃܭϨϏϡʔ • ৄࡉઃܭ • γʔέϯεਤɺ੩తϞσϧߋ৽(Ϋϥεਤ) • ࣮ ίʔυ/ςετ
Ϣʔεέʔε͔ΒίʔυΛಋ͘
༻ޠઆ໌ • ػೳཁٻ • γεςϜ~Ͱ͖Δɻ~͖͢ɻ • ৼΔ͍ཁٻ • ϢʔβʔͱγεςϜͷର
Ϣʔεέʔεهड़Λ࣮ફͯ͠Δਓ ͬͯͲΕ͘Β͍͍·͔͢ʁ
ͲͷΑ͏ͳํ๏Ͱػೳཁٻͷ ৄࡉΛཧղ͍ͯ͠·͔͢ʁ
ݱঢ়ͷ՝ • ීஈϦʔμʔ͕ઃܭͷٞΛओಋ͍ͯͯ͠ɺ൴͕͍ͳ͍ͱಉ࣭͡ͷΞτϓο τ͕Ͱ͖ͳ͍ɻ • ઃܭΛϝΠϯͰߟ͑ͯͳ͍ਓ͕࣮͢ΔͱϨϏϡʔ͕ߥΕͨΓɺग़Γ͕ൃੜ • ػೳཁٻΛੳͤͣʹ࣮ͯ͠ɺཁٻͱҧ͏ͷ͕Ͱ͖ͨɻ • ౷߹ςετͰཁ݅࿙Ε/ؒҧ͍ʹؾͮ͘ɻ·ͨؾ͔ͮͳ͍ɻ
• ౷߹ςετΛߦ͏λΠϛϯάͰςετέʔεΛॻ͖ى͜͠ɺେٱอ͘Μ͕ඃࡂ ͨ͠ • ͨ·ʹϓϧϦͷϨϏϡʔͰϞσϦϯάͷͯͯ͠ɺܰ͘Ԍ্ͯ͠Δ • ৽ਓʹΦϒδΣΫτࢦΛ࣮ફͰ͖ΔΑ͏ʹڭҭ͢Δͷ͍͠
ͳͥϢʔεέʔεۦಈ։ൃ͕ඞཁͳͷ͔ʁ • γεςϜͷৼΔ͍ΛੳʹΑͬͯ໌֬ʹ͢Δɻ • ৄࡉઃܭͷࡍʹɺཁٻͷৄࡉΛཧղ͍ͯ͠ΔͷͰͱ ͯͤʹͳΕΔɻ
ੳΛߦΘͳ͍ͰɺཁٻΛશʹ ཧղ͢Δ͜ͱͰ͖ΔͷͩΖ͏͔ʁ
γεςϜɺ࠾༻ީิऀͷ׆༂ Λ༧ଌͰ͖Δɻ
Ϣʔεέʔεهड़ͷׂͱʁ • ػೳཁٻͱઃܭ/࣮Λͭͳ͗ɺΑΓ໌ ֬Ͱᐆດͳ෦ͷͳ͍ৼΔ͍ཁٻ (ϢʔβʔͱγεςϜͷର)ΛಘΔͨΊ ͷखஈ
ϩόετωεੳͷׂͱʁ • Ϣʔεέʔεهड़ͷᐆດ͞Λղফ/໌֬ԽΛ αϙʔτ • ݟಀͨ͠υϝΠϯϞσϧͷൃݟΛαϙʔτ
↓ ԾͷυϝΠϯϞσϧ ↓ GUIϞοΫΞοϓ ↓ ॳ൛ͷϢʔεέʔεهड़ ↓ ଐੑ(όϯμϦɺΤϯςΟςΟɺίϯτϩʔϥ)Λ໌֬Խ ↓ ϩόετωεਤΛ࡞/ੳ
↓ ෆ໌ྎͳ෦ΛͲΜͲΜमਖ਼ Ϣʔεέʔεهड़ͱϩόετωεਤΛҰகͤ͞Δ ↓ ཁٻΛ࣮ݱ͢Δํ๏Λ໌֬Խ / ΦϒδΣΫτϞσϧͱৼΔ͍ཁٻ Λؔ࿈͚Δ
·ͱΊ • Ϣʔεέʔεهड़ɺػೳཁٻͷৄࡉΛཧղ͢ΔͨΊͷ खஈ • ϩόετωεੳɺϢʔεέʔεهड़Λચ࿅͢ΔͨΊ ͷπʔϧ • ΦϒδΣΫτΛϢʔεέʔεهड़ʹؔ࿈͚Δ͜ͱͰɺ ϢʔεέʔεۦಈͷΦϒδΣΫτࢦઃܭΛՄೳͱ͢Δ
࣮ફฤ
Ϣʔεέʔεهड़
͍͑ͨϙΠϯτҰཡ • ӍͷͷγφϦΦΛΕͳ͍ • GUIϓϩτλΠϓɺը໘ϞοΫΞοϓΛ͏͠ • Ϣʔεέʔεهड़Λ͢ΔલʹɺυϝΠϯϞσϧΆ໊͍ࢺΛػೳཁ ٻ͔Βநग़͓ͯ͘͠ • ΦϒδΣΫτϞσϧ(υϝΠϯϞσϧɺόϯμϦɺGUIΦϒδΣ
ΫτͳͲ)ͷݴ༿ΛͬͯϢʔεέʔεΛॻ͘͠ • SVOΛจষߏΛҙࣝͯ͠Ϣʔεέʔεهड़Λ͢͠ • ঀड़తʹ
ӍͷͷγφϦΦΛΕͳ͍ Կ͔Α͘ͳ͍͜ͱ͕ى͖ͨ߹ʹɺγεςϜ Ͳ͏ৼΔ͏͔
GUIϓϩτλΠϓɺը໘ϞοΫΞοϓΛ ͏͠ • ͩ͜ΘΓ͗͢Δͳ(look & feel) • ϝϦοτ • γεςϜڥք͕໌ࣔ͞Ε͍ͯΔͷͰɺϢʔεέʔεهड़Λ
ߦ͍͍͢ • UIͷόϯμϦɺγεςϜͷΠϕϯτ(xxը໘Λදࣔ͢ Δ)ɺϢʔβʔԠ(xxը໘ͷhogeϘλϯΛΫϦοΫ͢Δ) Λଊ͑Δ্ͰޮՌత
Ϣʔεέʔεهड़Λ͢ΔલʹɺυϝΠϯ ϞσϧΆ໊͍ࢺΛػೳཁٻ͔Βநग़ͯ͠ ͓͘ • 2࣌ؒҎͰαΫοͱ(ͱΓ͋͑ͣͰྑ͍)
ΦϒδΣΫτϞσϧͷݴ༿Λͬ ͯϢʔεέʔεΛॻ͘͠ • ϢʔεέʔεͱΦϒδΣΫτΛ݁ͼ͚ͭΔ͜ͱͰɺϢʔ εέʔεۦಈͷϞσϦϯάΛ࣮ݱ͢Δ ΦϒδΣΫτϞσϧͱৼΔ͍ཁٻ͕அઈ͢Δͱҙ ຯ͕ͳ͍
SVOจষߏΛҙࣝͯ͠ Ϣʔεέʔεهड़Λ͢͠ • ΦϒδΣΫτϞσϧ(υϝΠϯϞσϧɺόϯ μϦͳͲ)ɺಈࢺʹ֘͢ΔιϑτΣΞͷ ػೳΛ໌֬ʹͰ͖Δ • هड़ͷܗࣜΛ౷Ұ
ঀड़తʹ 㱻 ࢦࣔత
ঀड़తʹʁʁ ࢦࣔతʹʁʁ • Ϣʔεέʔεهड़ɺγεςϜͷৼΔ͍Λঀड़త (~͢Δ)ʹهड़͢Δ • Ϣʔβʔɺ ~Ͱ͖Δ(ػೳཁٻΈ͍ͨʹݟ͑Δ) × ॏཁͳγεςϜͷৼΔ͍͕ӅΕͯ͠·͏
tips1 Ϣʔεέʔεهड़ʹҹΛ͚ͭΔ ΤϯςΟςΟ<E> όϯμϦ<B> ίϯτϩʔϥ<C> ྫ) γεςϜɺϨϏϡʔߘը໘<B>Λදࣔ͢Δ<C> γεςϜɺҿ৯ళϨϏϡʔ<E>Λอଘ͢Δ<C>ɻ ϩόετωεਤ͕هड़͘͢͠ͳΔ
tips2 ΠϕϯτͱͦͷԠͷྲྀΕΛҙࣝ͢Δ • ྫ) γεςϜɺมଶtwitterΞΧϯτҰཡը໘Λ දࣔ͢Δɻ • γεςϜ͕Կ͔Λදࣔ͢Δը໘ʹ͋ΔॳظԽͷৼ Δ͍ʹؾͮ͘ •
ࣗવͱը໘ʹΘ͔Γ໊͍͢લ͕͘
tips3 ΞΫλʔΛ໌֬ʹೝࣝ͢Δ • ΞΫλʔγεςϜ֎෦ͷଘࡏ • ֎෦γεςϜΛਓͱಉ༷ʹදݱͰ͖Δ • ཧऀͱɺཧऀΞΧϯτ͚ͯߟ͑Δ • ΞΫλʔ۩ମతͳ໊લ͕͍͍
ex. ϢʔβʔΑΓൢചऀͱ͔ߪೖऀͱ͔
Ϣʔεέʔεهड़·ͱΊ • ड़ΔͷͰͳ͘ɺ(खॱΛ)ࣔ͢ɻ (ʙͰ͖Δ -> ʙ͢Δ)
࿅श1 Ϣʔεέʔεهड़ͯ͠ ϢʔβʔɺύεϫʔυΛͬͨೝূํ ࣜͰϩάΠϯͰ͖Δɻ
ղྫ
جຊίʔε: • γεςϜɺϩάΠϯը໘Λදࣔ͢Δɻ • ϢʔβʔɺϝʔϧΞυϨεͱύεϫʔυΛೖྗ͠ϩάΠϯϘλϯΛΫϦο Ϋ͢Δɻ • γεςϜɺϝʔϧΞυϨεΛݩʹରͷϢʔβʔΞΧϯτ͕ଘࡏ͢Δ ͔֬ೝ͢Δɻ •
ଘࡏ͢Δ߹ϢʔβʔΞΧϯτΛऔಘ͢Δɻ • γεςϜɺϢʔβʔΞΧϯτͷύεϫʔυͱೖྗ͞Εͨύεϫʔυ͕ Ұக͍ͯ͠Δ͔֬ೝ͢Δɻ • γεςϜɺ֘ͷϢʔβʔΞΧϯτͷೝূͨ͠ηογϣϯΛ։࢝͢Δ • γεςϜɺXXը໘Λදࣔ͠ɺϩάΠϯʹޭ͠·ͨ͠ͱϝοηʔδΛ දࣔ͢Δɻ
ସίʔε: • ϢʔβʔΞΧϯτͷύεϫʔυͱೖྗ͞Εͨύεϫʔ υ͕ෆҰக • γεςϜɺೖྗ͞Εͨύεϫʔυɺ·ͨϝʔϧΞυ Ϩε͕ؒҧ͍ͬͯΔ͜ͱΛϩάΠϯը໘ʹදࣔ͢Δɻ • ೖྗ͞ΕͨϝʔϧΞυϨεͷϢʔβʔΞΧϯτ͕ଘࡏ͠ ͳ͍
• γεςϜɺೖྗ͞Εͨύεϫʔυɺ·ͨϝʔϧΞυ Ϩε͕ؒҧ͍ͬͯΔ͜ͱΛϩάΠϯը໘ʹදࣔ͢Δɻ
࿅श2 Ϣʔεέʔεهड़ͯ͠ Ϣʔβʔɺҿ৯ళϨϏϡʔΛߘͰ͖ Δɻ
ղྫ
جຊίʔε: • Ϣʔβʔɺදࣔ͞Ε͍ͯΔҿ৯ళͷϨϏϡʔϘλϯΛΫϦο Ϋ͢Δɻ • γεςϜɺϨϏϡʔߘը໘Λදࣔ͢Δɻ • Ϣʔβʔɺҿ৯ళධՁΛ5ஈ֊͔Βબ͠ɺҿ৯ళϨϏϡʔ ίϝϯτΛೖྗ͠ɺྃϘλϯΛΫϦοΫ͢Δɻ •
γεςϜɺҿ৯ళϨϏϡʔίϝϯτ͕400จࣈҎ͔ɺҿ৯ ళධՁ͕બ͞Ε͍ͯΔ͔Λ֬ೝ͢Δɻ • γεςϜɺҿ৯ళϨϏϡʔΛอଘ͢Δɻ • γεςϜɺҿ৯ళϨϏϡʔߘྃը໘Λදࣔ͢Δɻ
ସίʔε: • Ϣʔβʔ͕ϩάΠϯͯ͠ͳ͍ • γεςϜɺϨϏϡʔߘը໘͔ΒϦμΠϨΫτͯ͠ϩάΠϯը໘Λදࣔ͢Δ • ϩάΠϯ͕ޭͨ͠ΒɺγεςϜϨϏϡʔߘը໘Λදࣔ͢Δɻ • ҿ৯ళϨϏϡʔίϝϯτ͕400จࣈҎ্ •
γεςϜɺҿ৯ళϨϏϡʔ͕400จࣈҎ্Ͱෆਖ਼ͱ͍͏ϝοηʔδΛҿ৯ళ ϨϏϡʔը໘ʹදࣔ͢Δɻ • ҿ৯ళධՁ͕બ͞Ε͍ͯͳ͍ • γεςϜɺҿ৯ళධՁ͕ෆਖ਼ͱ͍͏ϝοηʔδΛҿ৯ళϨϏϡʔը໘ʹදࣔ ͢Δɻ
ϩόετωεੳ
None
• Ϣʔεέʔεهड़ΛΦϒδΣΫτʹؔ࿈ͮ ͚Δ • Ϣʔεέʔεهड़ͷᐆດ͞Λղফ͢Δखஈ ϩόετωεੳͱʁ
None
• Ϣʔεέʔεهड़ͷᐆດ͞ղফΛαϙʔτ ex. ݟಀͨ͠υϝΠϯϞσϧͷൃݟ • ΦϒδΣΫτΛϢʔεέʔεهड़ʹؔ࿈ ͚Δ͜ͱͰɺϢʔεέʔεۦಈͷΦϒδΣ ΫτࢦઃܭΛՄೳͱ͢Δ ಛ
ϩόετωεਤͷߏ
όϯμϦ ΦϒδΣΫτ • γεςϜͱ֎෦ͱͷIF • ௨ৗɺը໘web ϖʔδ্ͷ֓೦ • ໊ࢺ
ίϯτϩʔϥ • ৼΔ͍ • όϯμϦͱΤϯςΟ ςΟͷؒΛܨ͙֓೦ • ಈࢺ
ΤϯςΟςΟ ΦϒδΣΫτ • υϝΠϯྖҬͷ֓೦ • ໊ࢺ
4ͭͷϧʔϧ
ϧʔϧ 1 ΞΫλʔόϯμϦΦϒδΣΫτͱ͔ؔ͠ Λ࣋ͯͳ͍
ϧʔϧ 2 όϯμϦΦϒδΣΫτͱ ΤϯςΟςΟΦϒδΣΫ τɺؔΛ࣋ͯͳ͍
ϧʔϧ 3 ΤϯςΟςΟɺ ଞͷΤϯςΟςΟͱ ؔΛ࣋ͯͳ͍
ϧʔϧ 4 όϯμϦΦϒδΣΫτɺ ଞͷόϯμϦΦϒδΣΫτͱؔΛ࣋ͯͳ͍
• Ϣʔεέʔεهड़ͷ݈શੑͷܽΛ ݕ • Ϣʔεέʔεهड़͕SVOͰهड़͞Εͯ ͍Δ͔ • ΦϒδΣΫτͱϢʔεέʔεهड़͕ؔ ࿈͚ΒΕ͍ͯΔ͔ ϧʔϧ͕ͨΒ͢Ϟϊ
͍͑ͨϙΠϯτ • Ϣʔεέʔεهड़ͱϩόετωεਤΛҰகͤ͞Δ (جຊίʔε/ସίʔεͷશͯΛࣔ͢) • υϝΠϯϞσϧͷ༻ޠΛར༻ͯ͠Ϣʔεέʔεهड़͕͞ Ε͍ͯΔ͔ • ϩόετωεਤΛඳ͖ͳ͕ΒɺϢʔεέʔεهड़Λߋ৽ ͢Δ
• ը໘୯ҐͰόϯμϦʹ໌֬ͳ໊લΛ͚ͭΔ • ݟಀͨ͠υϝΠϯϞσϧΛൃݟ/Ճ͢Δ
• ϢʔεέʔεͰผͷ ϢʔεέʔεΛݺͼग़ ͯ͠ྑ͍
HaKaSeνʔϜͰͷ • ओʹίϚϯυ(ొɺߋ৽)ʹؔ͢Δػೳཁٻ ʹ͔͠ϩόετωεੳͯ͠ͳ͍ • Ϗδωε্ɺॏཁͳػೳ͔Βߦ͏
νʔϜͰಋೖ͢ΔͨΊͷઓུ • શͯͷϢʔεέʔεʹରͯ͠ߦΘͳ͍ • ϩόετωεਤୂΛνʔϜʹ̍ਓ໋ ͢Δ • νʔϜϝϯόʔ͕׳ΕͯདྷͨΒɺॱ൪Ͱॻ ͘Α͏ʹ͢Δ
None
ϩόετωεੳ ·ͱΊ • Ϣʔεέʔεهड़ͷ݈શੑͷ֬ೝ • Ϣʔεέʔεهड़ͷᐆດ͞ղফΛαϙʔτ • ݟಀͨ͠υϝΠϯϞσϧͷൃݟ • 6ճ͘Β͍ॻ͚׳ΕΔΑɻ؆୯ɻ
• ϢʔβʔɺύεϫʔυΛͬͨೝূํࣜͰ ϩάΠϯͰ͖Δɻ ͷϢʔεέʔεهड़ΛݩʹϩόετωεਤΛ ॻ͍͍ͯͩ͘͞ɻ ࿅श 1 ɹਤΛॻ͍ͯΈΔ
جຊίʔεɿ γεςϜɺϩάΠϯը໘Λදࣔ͢Δɻ ϢʔβʔɺϝʔϧΞυϨεͱύεϫʔυΛೖྗ͠ϩάΠϯϘλϯΛΫϦοΫ͢Δɻ γεςϜɺϝʔϧΞυϨεΛݩʹରͷϢʔβʔΞΧϯτ͕ଘࡏ͢Δ͔֬ೝ͢Δɻ ଘࡏ͢Δ߹ϢʔβʔΞΧϯτΛऔಘ͢Δɻ γεςϜɺϢʔβʔΞΧϯτͷύεϫʔυͱೖྗ͞Εͨύεϫʔυ͕Ұக͍ͯ͠Δ͔֬ೝ͢Δɻ γεςϜɺ֘ͷϢʔβʔΞΧϯτͷೝূͨ͠ηογϣϯΛ։࢝͢Δɻ γεςϜɺXXը໘Λදࣔ͠ɺϩάΠϯʹޭ͠·ͨ͠ͱϝοηʔδΛදࣔ͢Δɻ ସίʔεɿ •
ϢʔβʔΞΧϯτͷύεϫʔυͱೖྗ͞Εͨύεϫʔυ͕ෆҰக • γεςϜɺೖྗ͞Εͨύεϫʔυɺ·ͨϝʔϧΞυϨε͕ؒҧ͍ͬͯΔ͜ͱΛϩάΠϯը໘ ʹදࣔ͢Δɻ • ೖྗ͞ΕͨϝʔϧΞυϨεͷϢʔβʔΞΧϯτ͕ଘࡏ͠ͳ͍ • γεςϜɺೖྗ͞Εͨύεϫʔυɺ·ͨϝʔϧΞυϨε͕ؒҧ͍ͬͯΔ͜ͱΛϩάΠϯը໘ ʹදࣔ͢Δɻ
10
ղྫ
• ࿑୲ऀɺνʔϜΛొ͢Δ͜ͱ͕Ͱ͖ Δɻ ͷϢʔεέʔεهड़ΛݩʹϩόετωεਤΛ ࡞͠ɺະͷϢʔεέʔεهड़ͳͲΛߋ ৽͍ͯͩ͘͠͞ɻ ࿅श 2 ɹਤΛॻ͍ͯੳ͢Δ
ࣄલใ
جຊίʔεɿ invoke → ࿑୲ऀɺࣾһΛݕࡧͰ͖Δ ࿑୲ऀɺࣾһҰཡ͔ΒϝϯόʔͱϦʔμʔΛબ͠ɺ࣍Ϙ λϯΛΫϦοΫ͢Δɻ γεςϜɺਓࣄൃྩઃఆը໘Λදࣔ͢Δɻ ࿑୲ऀɺ֤ϝϯόʔͱϦʔμʔʹൃྩ͞ΕΔΛೖྗ͠ɺOK ϘλϯΛΫϦοΫ͢Δɻ γεςϜɺνʔϜΛ࡞͠ɺอଘ͢Δɻ
γεςϜɺ"νʔϜͷొʹޭ͠·ͨ͠"ϝοηʔδΛSnackbarͰ ը໘ʹදࣔ͢Δɻ γεςϜɺ̑ඵޙνʔϜҰཡը໘Λදࣔ͢Δɻ
ସίʔεɿ • ࿑୲ऀ͕ϩάΠϯͯ͠ͳ͍ γεςϜɺνʔϜొը໘͔ΒϦμΠϨΫτͯ͠ϩάΠϯը໘Λදࣔ͢Δɻ ϩάΠϯ͕ޭͨ͠ΒɺγεςϜνʔϜొը໘Λදࣔ͢Δɻ • νʔϜ໊͕ॏෳ γεςϜɺ”ೖྗ͞ΕͨνʔϜ໊͢Ͱʹར༻͞Ε͍ͯͯઃఆͰ͖·ͤ Μ”ϝοηʔδΛνʔϜొը໘ʹදࣔ͢Δɻ •
νʔϜ໊͕ೖྗ͞Εͯͳ͍ γεςϜɺ”νʔϜ໊ඞਢೖྗͰ͢”ϝοηʔδΛνʔϜొը໘ʹද ࣔ͢Δɻ • Ϧʔμʔ͕બ͞Ε͍ͯͳ͍ γεςϜɺ”ϦʔμʔΛ1ਓબ͍ͯͩ͘͠͞”ϝοηʔδΛνʔϜొը ໘ʹදࣔ͢Δɻ
15
ղྫ
جຊίʔεɿ γεςϜɺνʔϜొը໘Λදࣔ͢Δɻ ࿑୲ऀɺνʔϜ໊Λೖྗ͢Δɻ invoke → ࿑୲ऀɺࣾһΛݕࡧͰ͖Δ ࿑୲ऀɺࣾһҰཡ͔ΒϝϯόʔΛબ͢Δɻ ࿑୲ऀɺࣾһҰཡ͔ΒϦʔμʔΛબ͢Δɻ ࿑୲ऀɺ࣍ϘλϯΛΫϦοΫ͢Δɻ γεςϜɺਓࣄൃྩઃఆը໘Λදࣔ͢Δɻ
࿑୲ऀɺ֤ϝϯόʔͱϦʔμʔʹਓࣄൃྩΛೖྗ͠ɺOKϘλϯΛΫϦοΫ͢Δɻ γεςϜɺϝϯόʔ͕2ਓҎ্͔Λ֬ೝ͢Δɻ γεςϜɺϦʔμʔ͕1ਓͰ͋Δ͔Λ֬ೝ͢Δɻ γεςϜɺϦʔμʔɺϝϯόʔʹબ͞Ε͍ͯͳ͍͔Λ֬ೝ͢Δɻ γεςϜɺνʔϜΛ࡞͠ɺอଘ͢Δɻ γεςϜɺ"νʔϜͷొʹޭ͠·ͨ͠"ϝοηʔδΛSnackbarͰը໘ʹදࣔ͢Δɻ γεςϜɺ̑ඵޙνʔϜҰཡը໘Λදࣔ͢Δɻ
ସίʔεɿ • ࿑୲ऀ͕ϩάΠϯͯ͠ͳ͍ γεςϜɺνʔϜొը໘͔ΒϦμΠϨΫτͯ͠ϩάΠϯը໘Λදࣔ͢Δɻ ϩάΠϯ͕ޭͨ͠ΒɺγεςϜνʔϜొը໘Λදࣔ͢Δɻ • νʔϜ໊͕ॏෳ γεςϜɺ”ೖྗ͞ΕͨνʔϜ໊͢Ͱʹར༻͞Ε͍ͯͯઃఆͰ͖·ͤΜ”ϝοηʔδΛνʔϜొը໘ʹදࣔ͢Δɻ • νʔϜ໊͕ೖྗ͞Εͯͳ͍
γεςϜɺ”νʔϜ໊ඞਢೖྗͰ͢”ϝοηʔδΛνʔϜొը໘ʹදࣔ͢Δɻ • Ϧʔμʔ͕બ͞Ε͍ͯͳ͍ γεςϜɺ”ϦʔμʔΛ1ਓબ͍ͯͩ͘͠͞”ϝοηʔδΛνʔϜొը໘ʹදࣔ͢Δɻ • ϝϯόʔ͕બ͞Ε͍ͯͳ͍ γεςϜɺ”ϝϯόʔΛ2ਓҎ্બ͍ͯͩ͘͠͞”ϝοηʔδΛνʔϜొը໘ʹදࣔ͢Δɻ • ϝϯόʔʹબ͞Εͨਓ͕ɺϦʔμʔʹબ͞Ε͍ͯΔ γεςϜɺ”ϝϯόʔʹબ͞ΕͨਓΛϦʔμʔʹબͰ͖·ͤΜ”ϝοηʔδΛνʔϜొը໘ʹදࣔ͢Δɻ • Ϧʔμʔ͕2ਓҎ্ γεςϜɺ”νʔϜʹϦʔμʔ1ਓ͔͠ଘࡏͰ͖·ͤΜ”ϝοηʔδΛνʔϜొը໘ʹදࣔ͢Δɻ • ϝϯόʔ͕2ਓະຬ γεςϜɺ”νʔϜʹϝϯόʔ͕2ਓҎ্ଘࡏ͢Δඞཁ͕͋Γ·͢”ϝοηʔδΛνʔϜొը໘ʹදࣔ͢Δɻ • ϝϯόʔ or Ϧʔμʔͷਓࣄൃྩ͕ೖྗ͞Ε͍ͯͳ͍ γεςϜɺ”ਓࣄൃྩඞਢೖྗͰ͢”ϝοηʔδΛνʔϜొը໘ʹදࣔ͢Δɻ