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
Google I/O Extended Incheon 2025 ~ What's new in Android development tools
pluu
1
220
知って得する@cloudflare_vite-pluginのあれこれ
chimame
1
140
テスターからテストエンジニアへ ~新米テストエンジニアが歩んだ9ヶ月振り返り~
non0113
2
250
令和最新版手のひらコンピュータ
koba789
2
340
あまり知られていない MCP 仕様たち / MCP specifications that aren’t widely known
ktr_0731
0
220
大規模FlutterプロジェクトのCI実行時間を約8割削減した話
teamlab
PRO
0
450
書き捨てではなく継続開発可能なコードをAIコーディングエージェントで書くために意識していること
shuyakinjo
0
200
実践 Dev Containers × Claude Code
touyu
1
130
なぜ今、Terraformの本を書いたのか? - 著者陣に聞く!『Terraformではじめる実践IaC』登壇資料
fufuhu
4
400
AIに安心して任せるためにTypeScriptで一意な型を作ろう
arfes0e2b3c
0
330
AIコーディングエージェント全社導入とセキュリティ対策
hikaruegashira
16
9.4k
Gemini CLIの"強み"を知る! Gemini CLIとClaude Codeを比較してみた!
kotahisafuru
3
920
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Faster Mobile Websites
deanohume
308
31k
Building an army of robots
kneath
306
45k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Rails Girls Zürich Keynote
gr2m
95
14k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Music & Morning Musume
bryan
46
6.7k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
What's in a price? How to price your products and services
michaelherold
246
12k
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