Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
さては密結合だなオメー Clean Architecture で学ぶ テストフレンドリーな疎結...
Search
Tetsuya Mori
PRO
June 06, 2018
Technology
28k
9
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
さては密結合だなオメー Clean Architecture で学ぶ テストフレンドリーな疎結合設計/Loosely Coupled Design Learning with Clean Architecture
2018/06/06 に開催された「Unity テスト完全に理解した」という勉強会での発表資料です。
Tetsuya Mori
PRO
June 06, 2018
More Decks by Tetsuya Mori
See All by Tetsuya Mori
ビルドシステムを C# 大統一したお話
monry
PRO
2
1.5k
C# 大統一理論推進委員会 会員のための Unity Package Manager プロジェクト構成案
monry
PRO
0
1.8k
はじめての C# 大統一理論
monry
PRO
0
860
unity1week でチーム開発を成功させる秘訣
monry
PRO
0
330
Unity で ARゲームを作った話
monry
PRO
1
1k
Visual Programming Framework UniFlow のご紹介/Introducing UniFlow
monry
PRO
2
3.2k
UniFlow 完全に理解した / I can develop UniFlow a little.
monry
PRO
0
570
Democratized Unity Package Manager
monry
PRO
1
3.1k
使ってみよう! Unity RemoteSettings/Let's use Unity RemoteSettings
monry
PRO
1
1.3k
Other Decks in Technology
See All in Technology
Multica × 長期記憶:40個のミニプロジェクト管理
eiei114
1
250
Sigmaユーザーのための有用リソース一挙公開 & Sigmaで使えるMCP #sigma_ucj /useful-resources-for-sigma-computing-users-and-mcps-with-sigma
shinyaa31
0
200
「重なり」は迎える側がつくる ― 人もAIエージェントも歓迎するプロダクトエンジニアリング ―
go0517go
PRO
0
280
AIエージェントの自己改善をどう設計するか / How to Design Self-Improvement for AI Agents
22mi
3
2k
AI時代、データエンジニアが一番おもろい
genshun9
0
180
ASTを使って影響範囲を特定する
nealle
0
170
Slack上でインフラをトラブルシュートする! Agentic Platform Engineeringの第一歩
teru0x1
4
1.3k
2026-09-10 【Snowflake World Tour Tokyo 2026】dbt Core と Snowflake で実現する多層的なデータガバナンス / Multi-Layered Data Governance Powered by dbt Core and Snowflake
civitaspo
0
350
GoCon2026 - Open Source, Open World
sanposhiho
4
3.4k
Redmine 7.0で私が開発した新機能の狙いと背景
vividtone
1
160
株式会社シーエーシー エンジニア向け会社紹介資料
cac
0
57k
WAF 運用改善の承認サイクル/SRE_BizReach_MIXI_1
visional_engineering_and_design
2
560
Featured
See All Featured
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
The browser strikes back
jonoalderson
0
1.7k
From π to Pie charts
rasagy
0
360
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
490
Test your architecture with Archunit
thirion
2
2.4k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
65k
Designing Experiences People Love
moore
143
24k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
850
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Transcript
גࣜձࣾΩοζελʔ CTO ɹ࠸ ͯ͞ີ݁߹ͩͳΦϝʔ Clean Architecture ͰֶͿ ςετϑϨϯυϦʔͳૄ݁߹ઃܭ Unity ςετશʹཧղͨ͠
@ 2018/06/06
2 ͜ΜΜʂ
3 ಥવͰ͕͢ ઃܭਤͷݕূ༻ઃܭਤ ςετɺॻ͍ͯ·͔͢ʁ
4 ࢲɺ࠷ۙ·Ͱ ॻ͍͍ͯ·ͤΜͰͨͬ͠ʂ
rΜΓ͌ઌੜ l͋ͳͨͨͪͷதͰςετΛॻ͍͍ͯΔऀ͕ɺ ·ͣɺࢲʹੴΛ͛ͳ͍͞ɻz 5
6 ͋͋ͬʂੴΛ͛ͳ͍Ͱʂ ϚαΧϦΛ͛ͳ͍Ͱʂʂʢ࣮ʣ
ࣗݾհ 7
wɹ࠸ʢBLBΜΓ͌ઌੜʣ w࡛ۄݝ࢈ wגࣜձࣾΩοζελʔ$50 wࡀϲ݄ͷ່ʹκοίϯ-07& w͓ञͱ߹এͱϓϩάϥϛϯά͕झຯ w5XJUUFS!NPOSZ(JU)VC!NPOSZ 8 Who am I
?
w ࢠͲ͚εϚϗΞϓϦ ։ൃͳͲ w ͋ͨΓ͔Β 6OJUZΨοπϦ w ͬ͜͝ϥϯυ ྦྷܭສ%- w
"QQ4UPSF(PPHMF1MBZ ʹͯࢠͲ͚ΧςΰϦ ϥϯΩϯά501 9 ͓͠͝ͱ
લஔ͖ 10
11 ࠓճ
12 ϓϩδΣΫτͷίʔυΛ ςετ͠қ͘͢Δख๏ʹ ͍͓ͭͯ͠͠·͢ɻ
ΞδΣϯμ 13
w6OJUZςετʹ͓͚Δ՝ wૄ݁߹ͷجຊతͳߟ͑ํ w$MFBO"SDIJUFDUVSFʹ͍ͭͯ w$"'6ʹ͍ͭͯ 14 ͓͠ͳ͕͖
15 ຊ
w6OJUZςετʹ͓͚Δ՝ wૄ݁߹ͷجຊతͳߟ͑ํ w$MFBO"SDIJUFDUVSFʹ͍ͭͯ w$"'6ʹ͍ͭͯ 16 ͓͠ͳ͕͖
Unity ςετʹ͓͚Δ՝ 17
w୯ମςετ6OJU5FTU w݁߹ςετ*OUFHSBUJPO5FTU w૯߹ςετ4ZTUFN5FTU 18 ςετ is Կʁ Unity ςετʹ͓͚Δ՝
wʮ͍ɺγϯϓϧͳΫϥεͳΒ65ॻ͚ΔΜ͢Αʯ wঢ়ଶΛඞཁͱ͢Δςετ͕γϯυΠ w֎෦σʔλʹґଘ͢Δςετɺ 4DSJQUBCMF0CKFDUͷσʔλʹґଘ͢Δςετ͕ γϯυΠ w7JFX .POP#FIBWJPVS ʹґଘ͢Δͱ͔ͳΔͱ ઈత 19
Կނɺॻ(͔|͚)ͳ͍ʁ Unity ςετʹ͓͚Δ՝
wʮ͍ɺ1MBZ.PEFςετ͋ΔΜʯ w͍ͬͯ͟ΈΔͱɺ৭ʑͳ՝͕ ݟ͑ͯ͘Δ 20 Կނɺॻ(͔|͚)ͳ͍ʁ Unity ςετʹ͓͚Δ՝
w͋ΔΫϥεͭҎ্ͷΫϥεͷ ΠϯελϯεΛඞཁͱ͍ͯ͠Δ w߹ʹΑͬͯɺͦΕΒͷ ΠϯελϯεߋʹผͷΫϥεͷ ΠϯελϯεΛඞཁͱ͍ͯ͠Δ ͳΜͯ͜ͱ 21 ՝ʁ Unity ςετʹ͓͚Δ՝
wσʔλͷݩωλʹڌΒͣɺσʔλΛ औಘɾઃఆ͢ΔॲཧΛςετ͍ͨ͠ w<0CTPMFUF>3FTPVSDFT-PBE w6OJUZ8FC3FRVFTU wϩʔΧϧΩϟογϡ wFUD 22 ՝ʁ Unity
ςετʹ͓͚Δ՝
w7JFXͷॲཧ͕λοϓೖྗΛલఏʹͯ͠ ͍Δ wଞͷ(BNF0CKFDU͕ॳظԽ͞Ε͍ͯΔ ίτΛલఏʹ͍ͯ͠Δ w4JOHMFUPOͱ͔ͰલͷγʔϯͰઃఆ͞ ΕͨΛඞཁͱ͢Δ 23 ՝ʁ Unity ςετʹ͓͚Δ՝
24 ͜͏͍͏ঢ়ଶ
25 is
26 ີ݁߹
27 ີ݁߹
28 ີ݁߹
29
w4JOHMFUPO.POP#FIBWJPVSűŒŕŰŖ wTUBUJD͓͡͞Μ w ߦΛ͑Δ6QEBUF 30 ີ݁߹ Unity ςετʹ͓͚Δ՝
wͪΐͬͱؾΛൈ͘ͱ͙͢͜͏ͳΔ w݁߹Λ΄Ͳ͍ͯૄ݁߹ʹ͠Α͏ʂ 31 ີ݁߹ Unity ςετʹ͓͚Δ՝
32 ͦͷลΛ౿·͑ͯ
w6OJUZςετʹ͓͚Δ՝ wૄ݁߹ͷجຊతͳߟ͑ํ w$MFBO"SDIJUFDUVSFʹ͍ͭͯ w$"'6ʹ͍ͭͯ 33 ͓͠ͳ͕͖
ૄ݁߹ͷجຊతͳߟ͑ํ 34
35
36 Ҏ্ɻ
37 ………ɻ
38 ૄ݁߹ͷͨΊͷ ςΫχοΫΛʢࡶʹʣհ
w4JOHMF3FTQPOTJCJMJUZ1SJODJQMF w0QFODMPTFEQSJODJQMF w-JTLPWTVCTUJUVUJPOQSJODJQMF w*OUFSGBDFTFHSFHBUJPOQSJODJQMF w%FQFOEFODZJOWFSTJPOQSJODJQMF 39 SOLID ݪଇ ૄ݁߹ͷجຊతͳߟ͑ํ
w୯Ұͷݪଇ w։์ดͷݪଇ wϦείϑͷஔݪଇ wΠϯλϑΣʔεͷݪଇ wґଘੑٯసͷ๏ଇ 40 SOLID ݪଇ ૄ݁߹ͷجຊతͳߟ͑ํ
41
w40-*%ݪଇ͕कΒΕ͍ͯΔίʔυ ͦͷҰͭҰͭʹ͍ͭͯɺؔ৺ͷ͕ ߦΘΕ͍ͯΔͱݴ͑Δ w͢ͳΘͪɺݸʑͷίʔυʹ͓͚Δ ςετରͷؔ৺ࣄ͕গͳ͍ w͢ͳΘͪɺૄ݁߹ͩͱݴ͑Δ 42 SOLID ݪଇ ૄ݁߹ͷجຊతͳߟ͑ํ
wૄ݁߹ͳγεςϜʹର͢Δςετ ͭͷςετίʔυ͕ෛ͏͕ڱ͍ wςετΛ࣮ࢪ͢Δࡍͷ४උॲཧ͕ গͳ͘ͳΔέʔε͕ଟ͍ 43 ૄ݁߹ × ςετ ૄ݁߹ͷجຊతͳߟ͑ํ
wۃͱͯ͠ɺ֤ཁૉʹର͢Δ65͕ ॻ͔Ε͍ͯΕ*5ͦ͜·Ͱ ؤுΒͳͯ͘ࡁΉ 44 ૄ݁߹ × ςετ ૄ݁߹ͷجຊతͳߟ͑ํ
45 ͰʁHow to ૄ݁߹ʁ
w6OJUZςετʹ͓͚Δ՝ wૄ݁߹ͷجຊతͳߟ͑ํ w$MFBO"SDIJUFDUVSFʹ͍ͭͯ w$"'6ʹ͍ͭͯ 46 ͓͠ͳ͕͖
Clean Architecture ʹ͍ͭͯ 47
48 ͷɺલʹ
w͜͜·Ͱ୯ҰͷΫϥεʹؔ͢Δ ؔ৺ͷʹ͍ͭͯ wҰͭࢹ࠲Λ֦͛ͯϨΠϠʔʹؔ͢Δ ؔ৺ͷʹ͍ͭͯߟ͑Δ 49 ؔ৺ͷ Clean Architecture ʹ͍ͭͯ
wιϑτΣΞΞʔΩςΫνϟ ʹԙ͍ͯɺҰൠʹҎԼͷ Α͏ʹϨΠϠʔΛ͚Δ ʢίτ͕ଟ͍ʣ w1SFTFOUBUJPO ݟͨ w%PNBJO ϩδοΫ
w%BUB σʔλ 50 ؔ৺ͷ for ϨΠϠʔ Presentation Domain Data Clean Architecture ʹ͍ͭͯ
w.7$.71ͳͲͷ ΞʔΩςΫνϟʹΑΓ 1SFTFOUBUJPOͱ%PNBJO ͷ͕࣮ݱ͞ΕΔ w֤ΞʔΩςΫνϟͰ ͷ۩ମతͳखஈ ༷ʑ w.71.77.ͩͱ 3YΛ͏ͷ͕Ұൠతʁ 51
ؔ৺ͷ for ϨΠϠʔ Presentation Domain Data Clean Architecture ʹ͍ͭͯ
w%PNBJOͱ%BUBͷ ֤छσβΠϯύλʔϯ͕ ୲͏͜ͱ͕ଟ͔ͬͨ wͱ͍͏͔ɺ.7 Ͱ %PNBJOҎ߱ʹ͍ͭͯͷ ΛΞʔΩςΫνϟ ͱͯ͠ෛ͍ͬͯͳ͍ײ͡ 52 ؔ৺ͷ
for ϨΠϠʔ Presentation Domain Data Clean Architecture ʹ͍ͭͯ
wͰɺͦͷลఆٛͨ͠ ΞʔΩςΫνϟ͕ొ͢Δ w)FYBHPOBM"SDIJUFDUVSF w0OJPO"SDIJUFDUVSF w$MFBO"SDIJUFDUVSF 53 ؔ৺ͷ for ϨΠϠʔ Presentation
Domain Data Clean Architecture ʹ͍ͭͯ
54 Α͏͘ຊ
w6ODMF#PC 3PCFSU$.BSUJO ࢯ͕ ݄ʹఏҊ wJ04ͷ7*1&3ͳΜ͔ίϨ͕ݯྲྀ 55 Clean Architecture Clean Architecture
ʹ͍ͭͯ
56 Clean Architecture Clean Architecture ʹ͍ͭͯ
57 ͳΔ΄ͲɺΘ͔ΒΜɻ
58 ࢲͳΓʹղऍͯ͠Έͨ
wϨΠϠʔͷׂΛఆٛ͢Δ wϨΠϠͷΛ໌֬Խ wOBNFTQBDFͳͲͰ ͔Γ͘͢͢Δ 59 Clean Architecture Clean Architecture ʹ͍ͭͯ
wґଘͷϧʔϧΛकΔ wؔ৺ͷ͖Ұํ wݪଇతʹಉϨΠϠʔؒ ґଘͤ͞ͳ͍ wϨΠϠʔΛඈͼӽ͑ͳ͍ 60 Clean Architecture Clean Architecture
ʹ͍ͭͯ
wϨΠϠʔఆٛࣗ༝ wͱ͔ෆఆ wϓϩμΫτຖʹॊೈʹ wΓͳ͖Ό૿͢ 61 Clean Architecture Clean Architecture ʹ͍ͭͯ
wϨΠϠʔؒͷؔ৺Λ w40-*%ݪଇ wJOUFSGBDFΛ༻͍ͯ ۩Ϋϥεͷґଘഉআ w%FQFOEFODZ*OKFDUJPOT 62 Clean Architecture Clean Architecture
ʹ͍ͭͯ
wಉ৺ԁͷਤؔ৺ͷ͖ wଆ֎ଆΛΒͳ͍ w(BUFXBZT%#͕ Ͳ͏ͬͯσʔλΛ ѻ͏͔Βͳ͍ɺͱ͔ wσʔλͷྲྀΕผͷ͓ wӈԼͷਤ͕ιϨ 63 Clean Architecture
Clean Architecture ʹ͍ͭͯ
64 ΜͰ
65 ͜ΕΛ Unity ʢ͔ͬͯ C#ʣ Ͱ࣮ͯ͠Έͨ
w6OJUZςετʹ͓͚Δ՝ wૄ݁߹ͷجຊతͳߟ͑ํ w$MFBO"SDIJUFDUVSFʹ͍ͭͯ w$"'6ʹ͍ͭͯ 66 ͓͠ͳ͕͖
CAFU ʹ͍ͭͯ 67
w$MFBO"SDIJUFDUVSF'PS6OJUZͷུ wʮ͔;ʔʯͱಡΉ wώωϦ͕ͳ͍ͱ͔ݴΘͳ͍ɻ w.*5-JDFOTFͳ044 wIUUQTHJUIVCDPNVNNQSPKFDUTDBGV@DPSF 68 CAFU is Կʁ CAFU
ʹ͍ͭͯ
wجຊతʹJOUFSGBDFͷΈΛఏڙ w6OJUZͱର͢Δ্ͰඞཁʹͳΔ ΫϥεΛఏڙ wΩοζελʔͷΞϓϦ։ൃͰ ઈͬͯΔ 69 CAFU is Կʁ CAFU
ʹ͍ͭͯ
70 ϨΠϠʔఆٛ
71 ϨΠϠʔఆٛ CAFU ʹ͍ͭͯ
72 ґଘؔ CAFU ʹ͍ͭͯ
w.POP#FIBWJPVSͱର͠ ݟͨΛ࢘ΔϨΠϠʔ w1SFTFOUFSͷΈґଘՄ 73 Presentation / View CAFU ʹ͍ͭͯ
w7JFXͱ6TF$BTFΛܨ͙ϨΠϠʔ w6TF$BTFޙड़ wঢ়ଶΛ࣋ͨͳ͍ 74 Presentation / Presenter CAFU ʹ͍ͭͯ
wϏδωεϩδοΫͷ࣮ͦͷͷ wܭࢉॲཧͳͲΛ୲͏ wޙड़ͷ.PEFMͱͯ͠දݱ͞ΕΔ ঢ়ଶΛอ࣋ͨ͠Γ͢Δ 75 Domain / UseCase CAFU ʹ͍ͭͯ
wओʹ7JFXͰͷར༻Λతͱͨ͠ σʔλͷߏ w6OJ3YΛ௨ͯ͡7JFXʹૹΒΕΔ w3YετϦʔϜΛؚΊͨঢ়ଶΛཧ 76 Domain / Model CAFU ʹ͍ͭͯ
wޙड़ͷ&OUJUZͱ.PEFMͱΛ૬ޓม ͢ΔͨΊͷTranslate()ϝιουΛ උ͑Δ w֎෦༷ͷมߋΛ6TF$BTF7JFX ʹͤ͞ͳ͍ͨΊʹఆٛ 77 Domain / Translator CAFU
ʹ͍ͭͯ
w%BUBϨΠϠʔͱର͢ΔͨΊͷ ϨΠϠʔ wσʔλΛಡΈॻ͖͢ΔͨΊͷ ΠϯλϑΣʔεΛ࣋ͭ 78 Domain / Repository CAFU ʹ͍ͭͯ
wσʔλͷߏΛఆٛͨ͠ϨΠϠʔ wσʔλͷ࣮ମ͕ԿͰ͋Εɺ ߏදݱͱͯ͠ҰͭͷΫϥεͰද͢ w4DSJQUBCMF0CKFDU͕ϝϯυΠʜɻ 79 Data / Entity CAFU ʹ͍ͭͯ
wσʔλͷऔΓѻ͍Λ࣮ͨ͠ϨΠϠʔ w4DSJQUBCMF0CKFDUͱ͔ɺ 8FC"1*ܦ༝ͷ+40/ͱ͔ɺ 42-JUFܦ༝ͷσʔλͱ͔ɺFUD 80 Data / DataStore CAFU ʹ͍ͭͯ
wFOVNͱ͔DPOTUతͳΛཧ͢Δ ͨΊͷ"QQMJDBUJPOϨΠϠʔ w%*༻ͷ'BDUPSZΫϥεͱ͔Λ ֨ೲ͢Δ6UJMJUZϨΠϠʔ 81 ͦͷଞ CAFU ʹ͍ͭͯ
wམͪϞϊήʔϜΛྫʹղઆ wʙ৭ͷάϛ͕ ݸηοτͰམԼ wͭἧ͏ͱফ͑Δ wළͷ࠷্ஈ·Ͱୡͨ͠Β ήʔϜΦʔόʔ wͦͷ࣌ͷείΞΛه 82 ྫ͑ CAFU
ʹ͍ͭͯ
• Controller w γʔϯ੍ޚ w 1SFTFOUFSॳظԽ • Gummi w ߱ͬͯ͘Δάϛ
•Floor wϘτϧͷচ •Ceil wϘτϧͷఱҪ •Wall wϘτϧͷน 83 Presentation / View CAFU ʹ͍ͭͯ
w Gummiʹ.PDLΠϕϯτ͕ඈΜͰ͖ͨΒ .PDL1SFTFOUFSͷϝιου͕ݺΕΔ͔ʁςετ w .PDL1SFTFOUFSͷ3YετϦʔϜʹ ͕ྲྀΕ͖ͯͨΒWall͕ΤϑΣΫτΛ *OTUBOUJBUF͢Δ͔ʁςετ 84 Presentation /
View CAFU ʹ͍ͭͯ
•StagePresenter wγʔϯैଐ1SFTFOUFS 85 Presentation / Presenter CAFU ʹ͍ͭͯ
86 Presentation / Presenter CAFU ʹ͍ͭͯ w StagePresenterͷ֤ϝιουΛςετ w 6TF$BTFͷΠϯελϯεશͯ.PDL
w 1SFTFOUFSϨΠϠʔςετॻ͘ՁΊ
•GummiStateUseCase wεςʔδதͷάϛͷঢ়ଶ Λཧɾܭࢉ wάϛணˠ࠶ܭࢉͱ͔ wͪ͗Εఆͱ͔ •ScoreUseCase wಘΛཧɾܭࢉ •StageUseCase wεςʔδͷߏΛཧ wԿ৭ͷάϛΛग़͢ʁ
wམԼεϐʔυʁ 87 Domain / UseCase CAFU ʹ͍ͭͯ
88 Domain / UseCase CAFU ʹ͍ͭͯ w ֤6TF$BTFͷQVCMJDϝιουΛςετ w ೖྗग़ྗ1SJNJUJWFͳJOUFSGBDFΛ
௨ͯ͡ߦΘΕΔϋζ w ScoreUseCaseͷ&OUJUZ.PEFM.PDL͢Δ
•GummiModel wάϛҰͭΛදݱ w৭ͱ͔4UBUFͱ͔ •GummiMapModel wεςʔδͷશάϛใ •ForecastGummiModel w༧ࠂάϛͷঢ়ଶ •ScoreModel wݱࡏͷಘ •PointModel
wάϛফڈʹΑΔ֫ಘಘ 89 Domain / Model CAFU ʹ͍ͭͯ
90 Domain / Model CAFU ʹ͍ͭͯ w ͪΐͬͱͨ͠ͷՃॲཧͳͲΛߦ͍ͬͯΔ ߹ςετॻ͘ w
جຊతʹςετॻ͔ͳͯ͘Ϥαι
•GummiTranslator w4UBHF-FWFM&OUJUZͱ Ґஔ͔Β4DPSF.PEFM Λੜ •ScoreEntityTranslator w4DPSF.PEFMΛ 4DPSF&OUJUZʹม 91 Domain /
Translator CAFU ʹ͍ͭͯ
92 Domain / Translator CAFU ʹ͍ͭͯ w GummiModelTranslatorIStageLevelEntityΛ .PDLͯ͠Translate()Λςετ w
ScoreEntityTranslatorIScoreModelΛ .PDLͯ͠Translate()Λςετ
•ScoreRepository wείΞΛಡΈॻ͖ •StageLevelRepository wεςʔδͷάϛ৭ߏ ͳͲͷϚελΛऔಘ 93 Domain / Repository CAFU
ʹ͍ͭͯ
94 Domain / Repository CAFU ʹ͍ͭͯ w ScoreRepositoryIScoreModelͷ.PDLͰςετ w StageLevelRepositoryIStageLevelEntity
Ͱςετ
•ScoreEntity wεςʔδͷείΞ •ScoreMapEntity wશεςʔδͷείΞ •GummiPointMapEntity w࿈ຖͷ֫ಘϚελ •StageLevelEntity wεςʔδқఆٛ •StageLevelMapEntity wશεςʔδͷқ
95 Data / Entity CAFU ʹ͍ͭͯ
96 Data / Entity CAFU ʹ͍ͭͯ w .PEFMಉ༷ɺಛघͳϝιουΛੜ͍ͯ͠ͳ͍ ݶΓςετෆཁ
•ScriptableObjectDataStore wγʔϯதͷҙͷ ίϯϙʔωϯτ͔Β ࢀর͞ΕΔ 4DSJQUBCMF0CKFDU͔Β &OUJUZΛऔಘ •LocalStorageDataStore wϩʔΧϧετϨʔδʹ +40/ͱ͔Ͱ&OUJUZΛ อଘͨ͠ΓಡΜͩΓ
97 Data / DataStore CAFU ʹ͍ͭͯ
98 Data / DataStore CAFU ʹ͍ͭͯ w ScriptableObjectDataStore'JYUVSFγʔϯ ͔ΒͷΠϯελϯεऔಘΛςετ w
LocalStorageDataStoreҙͷ&OUJUZΛ ૬ޓʹಡΈॻ͖ग़དྷΔ͔Λςετ
99 σʔλͷྲྀΕ
wϘλϯ͕ΫϦοΫ͞ΕͯԿ͔ॲཧ͢Δ 100 σʔλͷྲྀΕ CAFU ʹ͍ͭͯ
wԿΒ͔ͷτϦΨʔͰঢ়ଶ͕มԽ 101 σʔλͷྲྀΕ CAFU ʹ͍ͭͯ
wλΠϚʔతͳ࣮ 102 σʔλͷྲྀΕ CAFU ʹ͍ͭͯ
wόφʔը૾Λαʔό͔Βऔಘ 103 σʔλͷྲྀΕ CAFU ʹ͍ͭͯ
wόφʔը૾ΛʹΩϟογϡ 104 σʔλͷྲྀΕ CAFU ʹ͍ͭͯ
wϚελσʔλΛ4DSJQUBCMF0CKFDU͔Βऔಘ 105 σʔλͷྲྀΕ CAFU ʹ͍ͭͯ
wϚελσʔλΛ4DSJQUBCMF0CKFDU͔Βऔಘ ʢϥΠτ൛ʣ 106 σʔλͷྲྀΕ CAFU ʹ͍ͭͯ
·ͱΊ 107
wૄ݁߹ͳΞϓϦέʔγϣϯΛ ߏங͢Δͱςετ͕͘͢͠ͳΔ w$MFBO"SDIJUFDUVSF͕Φεεϝ w$"'6ͬͯΈͯͶʂελʔśūŢŒţ 108 ·ͱΊ
109 Thank you for your attention!!