Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Unity meets Clean Architecture
Search
Tetsuya Mori
PRO
December 09, 2017
Programming
3
1.8k
Unity meets Clean Architecture
【年末だよ】Unity お・と・な のLT大会 2017【ポロりしてもいいのよ】での発表資料です。
Tetsuya Mori
PRO
December 09, 2017
Tweet
Share
More Decks by Tetsuya Mori
See All by Tetsuya Mori
ビルドシステムを C# 大統一したお話
monry
PRO
2
1.3k
C# 大統一理論推進委員会 会員のための Unity Package Manager プロジェクト構成案
monry
PRO
0
1.5k
はじめての C# 大統一理論
monry
PRO
0
750
unity1week でチーム開発を成功させる秘訣
monry
PRO
0
250
Unity で ARゲームを作った話
monry
PRO
1
820
Visual Programming Framework UniFlow のご紹介/Introducing UniFlow
monry
PRO
2
2.9k
UniFlow 完全に理解した / I can develop UniFlow a little.
monry
PRO
0
530
Democratized Unity Package Manager
monry
PRO
1
2.8k
使ってみよう! Unity RemoteSettings/Let's use Unity RemoteSettings
monry
PRO
1
1.1k
Other Decks in Programming
See All in Programming
JetBrainsのAI機能の紹介 #jjug
yusuke
0
190
Workers を定期実行する方法は一つじゃない
rokuosan
0
140
一人でAIプロダクトを作るための工夫 〜技術選定・開発プロセス編〜 / I want AI to work harder
rkaga
7
1.8k
物語を動かす行動"量" #エンジニアニメ
konifar
13
3.7k
Android 15以上でPDFのテキスト検索を爆速開発!
tonionagauzzi
0
190
新世界の理解
koriym
0
130
『リコリス・リコイル』に学ぶ!! 〜キャリア戦略における計画的偶発性理論と変わる勇気の重要性〜
wanko_it
1
340
What's new in Adaptive Android development
fornewid
0
140
コーディングは技術者(エンジニア)の嗜みでして / Learning the System Development Mindset from Rock Lady
mackey0225
2
250
令和最新版手のひらコンピュータ
koba789
13
6.9k
マイコンでもRustのtestがしたい その2/KernelVM Tokyo 18
tnishinaga
2
1.7k
0から始めるモジュラーモノリス-クリーンなモノリスを目指して
sushi0120
0
250
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
110
19k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
The Cult of Friendly URLs
andyhume
79
6.5k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
How STYLIGHT went responsive
nonsquared
100
5.7k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
Transcript
6OJUZNFFUT $MFBO"SDIJUFDUVSF 6OJUZ͓ɾͱɾͳͷ-5େձ גࣜձࣾΩοζελʔ $505FDI-FBEɹɹ࠸
סഋʂ
ࣗݾհ
8IPBNɹ w /JDLOBNFNPOSZ w /BNFɹ࠸ w 8PSL,JET4UBS*OD w 5XJUUFS!NPOSZ w
'BDFCPPLNPOSZ w (JU)VCNPOSZ w +PC6OJUZશൠɺϏϧυ͓͡͞Μ
ಥવͰ͕͢
6OJUZ։ൃ͋Δ͋Δ
6OJUZ։ൃ͋Δ͋Δ w ʮ͜ͷॲཧɺͲ͜ʹॻ͚ྑ͍ͷʜʁʯ w αϯϓϧίʔυωοτʹ͍ͬͺ͍͋Δ͚Ͳɺ ॻ͖ํ͕όϥόϥ w ͳΜͳΒ6OJUZެࣜͷϚχϡΞϧͱ͔Ұ؏ੑ͕ແ͍
6OJUZ։ൃ͋Δ͋Δ w ʮ͜͜ʹ༷Ճ͍ͨ͠Μ͚ͩͲʜɻʯ w ӨڹൣғɺΊͬͪΌ͍ʜɻ w ίονΛ͢ͱΞονʹӨڹͪ͠Όͬͯʜɻ w Θʔ͍ɺ
6OJUZ։ൃ͋Δ͋Δ w ʮίʔυϨϏϡʔśūŢŒţʯ w ϨϏϡϫʔʮԿॲʹԿ͕ॻ͔ΕͯΔ͔͔ΒΜʜɻʯ w ϨϏϡΠʔʮΫϥεͷൣғͱ͔ݴΘΕͯʜɻʯ
8IZ
ͦΕภʹ ͻͱ͑
ઃܭෆʂ
ઃܭͷॏཁੑ UP3JTPV1͞ΜͷొஃࢿྉΛ ಡ͏ʂ
ࠓɺͦΜͳʮઃܭͷॏཁੑ͕ ཧղग़དྷͨʯوํʹૹΔ༰Ͱ͢
Ҏ্ɺ͍લஔ͖ɻ
ຊ
ͷɺલʹ
ʢΦϨ͕ࢥ͏ʣ 6OJUZͷֶशϓϩηε
6OJUZֶशϓϩηε w 77JFX w 7JFX.POP#FIBWJPVSͷ 4UBSU Β6QEBUF ΒʹΰϦοΰϦʹॻ͘ w 7JFXͱ7JFXͱͷ݁߹͕ڧ͘ͳΓ͕ͪ
w ʮநԽʁͳʹͦΕ͓͍͍͠ͷʁʯঢ়ଶͳͷͰ %3:ݪଇͱ͔ɺͲ͜ਧ͘෩ঢ়ଶ w อ࣋༻ͷ4JOHMFUPO.POP#FIBWJPVS͘Μొ
6OJUZֶशϓϩηε w 7$7JFX$POUSPMMFS w 7JFX͚ͩͩͱγϯυ͘ͳ͖ͬͯͯɺ .BOBHFS͕ྔ࢈͞ΕΔ w (BNF.BOBHFSͱ͔͍͏ڊେͳΫϥε͕ग़དྷ্͕Δ w $POUSPMMFSͱ7JFXͱͷ݁߹ڧ͕ڧ͍
w ςετͱ͔ॻ͚ͨΜ͡Όͳ͍
6OJUZֶशϓϩηε w .7$.PEFM7JFX$POUSPMMFS w .PEFMͱͯ͠Λ࣋ͭΫϥε͕ొ͢Δ w ͜ͷล͔ΒΑ͋͘ΔϓϩδΣΫτʹͳΔ w 7JFXͱ.PEFM͕૬ޓʹࢀরΛ࣋ͪෳࡶԽ͢Δ w
7JFX.PEFMͷมߋʹऑ͍ʢ༷มߋʹऑ͍ʣ
6OJUZֶशϓϩηε w .77. 1 .PEFM7JFX7JFX.PEFM 1SFTFOUFS w 6OJ3YʢͳͲʣΛ͍ɺ.7$ͷ֤ϨΠϠΛ w
ϨΠϠؒͰͷґଘΛݮΒ͢ w ΄΅͜Ε͕͑ͳײ͢͡Δʂ w Ͱɺϧʔϧ͕ᐆດͰϨʔϧ͕ෑ͔Ε͍ͯͳ͍ײ͡
ͯ͜ͱͰɺ·ͩ՝͕͋Δ
ͦ͜Ͱ
$MFBO"SDIJUFDUVSF
$MFBO"SDIJUFDUVSF w JTԿʁ w ݩʑʹ6ODMF#PCʹΑΓఏএ͞Εͨ ΞʔΩςΫνϟ w J04ք۾ͰΑ͘ΘΕ͍ͯΔͱ͔͍ͳ͍ͱ͔
$MFBO"SDIJUFDUVSF w ͜Μͳਤͱ͔ ग़య5IF$MFBO"SDIJUFDUVSF
$MFBO"SDIJUFDUVSF w ͜Μͳਤͱ͔ ग़య·ͩ.7$ .71 .77.Ͱফͯ͠ΔͷʁJ04$MFBO"SDIJUFDUVSFʹ͍ͭͯ
$MFBO"SDIJUFDUVSF w Ͱද͞ΕΔ֓೦ w ͋͘·ͰʮΞʔΩςΫνϟʯͰ͋Γ ʮϑϨʔϜϫʔΫʯͰͳ͍ w ΦϒδΣΫτࢦϓϩάϥϛϯάʹԙ͚Δ ʮීวతͳߟ͑ํʯʹͳΔͷͰɺݴޠΛΘͣ͑Δ
$MFBO"SDIJUFDUVSF w ϝϦοτ w άάΕ w εΫϦϓςΟϯάͷํੑͱͯ͠ҰͭͷಓےͱͳΔ w 1MBZ.PEF&EJU.PEFΘͣɺςετ͕ॻ͖͍͢ w
େنϓϩμΫτதظతʹϝϯςφϯε͢Δϓϩ μΫτʹ࠷ద
$MFBO"SDIJUFDUVSF w σϝϦοτ w άάΕ w ίʔυͷϑΝΠϧ͕ΊͬͪΌ૿͑Δ w ֶशίετ͕ͪΐͬͱߴ͍ w
ϓϩτλΠϓখنϓϩμΫτʹ͔ͳ͍
6OJUZͰͬͯΈͨ
6OJUZͰͬͯΈͨ w 1SFTFOUBUJPO-BZFS w 7JFX w ͦͷ··.POP#FIBWJPVS w ࣗͷඳըͱࢠཁૉͷੜΛ࢘Δ w
ΠϕϯτϋϯυϦϯάίΠπͷࣄ w 7JFX$POUSPMMFSతͳΫϥεΛ༻ҙ͢ΔͱϤαι
6OJUZͰͬͯΈͨ w 1SFTFOUBUJPO-BZFS w 1SFTFOUFS w 7JFXͱ6TF$BTFΛܨ͙ w 6OJ3Yଟ༻͢Δ w
ίίʹϩδοΫॻ͔ͳ͍
6OJUZͰͬͯΈͨ w %PNBJO-BZFS w 6TF$BTF w ϏδωεϩδοΫ w 7JFXʹ%BUBʹґଘ͠ͳ͍Α͏ʹॻ͘ w
ʮυϝΠϯʯʹରͯ͠Ϋϥε࡞Δ
6OJUZͰͬͯΈͨ w %PNBJO-BZFS w .PEFM w ʮදࣔ༻ͷʯΛཧ͢Δ w දࣔ࣌ͷ࠲ඪͱ͔ͷఆΛ࣋ͬͯϤαι
6OJUZͰͬͯΈͨ w %PNBJO-BZFS w 5SBOTMBUPS w &OUJUZʢޙड़ʣͱ.PEFMΛ૬ޓʹม͢Δ w ಉظɾඇಉظΛߟྀ͢ΔͱϤαι
6OJUZͰͬͯΈͨ w %PNBJO-BZFS w 3FQPTJUPSZ w %BUB4UPSFʢޙड़ʣͱ6TF$BTFͱͷ૭ޱ w 6TF$BTFίΠπͱରͯ͠σʔλΛΓͱΓ͢Δ w
ݫີʹ%PNBJO-BZFSͰͳ͘ %PNBJOͱ%BUBͷதؒʹҐஔ͢Δ֓೦
6OJUZͰͬͯΈͨ w %BUB-BZFS w &OUJUZ w ʮ֎෦ͷʯΛཧ͢Δ w 8FC"1*ͱ͔4DSJQUBCMF0CKFDUͱ͔ 1MBZFS1SFGTͱ͔ͷιʔείʔυͷ֎ͷΛදݱ
w σʔλͷग़ࣗΛΘͣΫϥεσʔλʹ͖ͭͭ
6OJUZͰͬͯΈͨ w %BUB-BZFS w %BUB4UPSF w &OUJUZͷೖग़ྗΛऔΓѻ͏ w &OUJUZͷσʔλͷग़ࣗʹΑͬͯಡΈॻ͖ͷ ॲཧΛ࣮͢Δ
w ಡΈॻ͖ͷ࣮ॲཧڞ௨ԽͰ͖Δ͕ɺ ΠϯλϑΣʔεݸผʹ࣮͢Δίτ͕·͍͠
ͳΜͷͬͪ͜ΌͰ͢Ͷɻ
ͬͯ͜ͱͰɺॻ͖·ͨ͠
$"'6 $MFBO"SDIJUFDUVSFGPS6OJUZ
IUUQTHJUIVCDPNVNNQSPKFDUTDBGV@DPSF
$"'6 w Α͋͘ΔʮΦϨΦϨϑϨʔϜϫʔΫʯͰͳ͘ɺ͋͘·Ͱ ʮΞʔΩςΫνϟʯͱͯ͠ͷ࣮ w ຆͲϝιουੜ͓͑ͯΒͣɺز͔ͭͷJOUFSGBDFͰߏ w 6OJUZͱͷ݁߹͕ڧ͘ͳΔՕॴʹجఈΫϥεͱ͔Λ࣮ w .POP#FIBWJPVSͱ͔4DSJQUBCMF0CKFDUͱ͔
$"'6 w .PEFM6TF$BTFͷઃܭΛͤͣʹॻ͖࢝ΊΔͱ ௧͍ΛݟΔͷͰɺΫϥεਤΛॻ͘͜ͱΛΦεεϝ͠·͢ w ·ͩ·ͩ։ൃதͳͷͰɺ໘҆ఆ͠ͳ͍͔ʜ w Ωοζελʔͷ։ൃݱͰ࣮ࡍʹࢼݧಋೖத w ϝδϟʔόʔδϣϯΛʹԼ͛Α͏͔ࢥҊத
w ը໘ભҠʹؔ͢Δॲཧڞ௨Խͯ͠ผϦϙδτϦͰཧ
ڵຯ͋Δਓੋඇ 1VMM3FRVFTU͍͛ͯͩ͘͞
ॴײ
ॴײ w ΫϥεઃܭίʔσΟϯάͷ࣌ͷʮ໎͍ʯ͕ͳ͘ͳΔ w ׳Εͯ͘Εɻ w ͬͺΓֶशίετ͕ͦΕͳΓʹߴ͍ w ΄ͲΑ͍റΓ͕͋Δ͓ӄͰϨʔϧʹͳͬͯ͘Ε͍ͯΔ w
ઃܭϨϏϡʔίʔυϨϏϡʔ͍͢͠ w 1MBZ.PEF&EJU.PEFΘͣςετίʔυॻ͖͍͢
ॴײ w ෳਓͰҰͭͷϓϩμΫτΛ։ൃ͢ΔࡍʹɺฒΈΛἧ͑ ΒΕΔͱ͍͏େ͖ͳϝϦοτΛڗडͰ͖͍ͯΔ w ͱ͍͑ɺΤϯδχΞʹରͯ͠ٻΊΒΕΔϋʔυϧ্͕͕ Δͷ·ͨࣄ࣮ w 6OJUZͦͷͷͷ"1*ʹറΒΕͳ͍ͷͰɺͭͿ͕͠ޮ͘
༻๏༻ྔΛकͬͯ ਖ਼͘͠͝ར༻͍ͩ͘͞
ࠂ
ΜΓ͌ઌੜ w 4DIPPͰ6OJUZͷतۀΛ࣋ͭίτʹͳΓ·ͨ͠ʂ w IUUQTTDIPPKQDMBTT w 5VF d w
ੜ์ૹແྉͳͷͰɺੋඇͱ͝ཡ͍ͩ͘͞·ͤʂ
ࠂ
1BUDI3FMFBTF/PUFT༁ w 1BUDI3FMFBTFͷ3FMFBTF/PUFTΛ༁͢Δ ݸਓϓϩδΣΫτͬͯ·͢ɻ w IUUQVOJUZSFMFBTFOPUFTIBUFOBCMPHDPN w γΣΞͱ͔ελʔͱ͔͚ͯ͘ΕΔͱɺΜΓ͌ͷ Ϟνϕʔγϣϯ͕͕͋Γ·͆͢
ࠂ
8FBSFIJSJOH גࣜձࣾΩοζελʔͰ ʮࢠͲͷເதΛҭͯΔʯ ϓϩμΫτͷ։ൃΛࢧ͑Δ σϕϩούʔΛืूதͰ͢ʂ
5IBOLZPVGPS ZPVSBUUFOUJPO