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
740
unity1week でチーム開発を成功させる秘訣
monry
PRO
0
250
Unity で ARゲームを作った話
monry
PRO
1
810
Visual Programming Framework UniFlow のご紹介/Introducing UniFlow
monry
PRO
2
2.9k
UniFlow 完全に理解した / I can develop UniFlow a little.
monry
PRO
0
520
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
プロダクト志向なエンジニアがもう一歩先の価値を目指すために意識したこと
nealle
0
130
PHPでWebSocketサーバーを実装しよう2025
kubotak
0
290
Team operations that are not burdened by SRE
kazatohiei
1
310
The Modern View Layer Rails Deserves: A Vision For 2025 And Beyond @ RailsConf 2025, Philadelphia, PA
marcoroth
2
410
AIエージェントはこう育てる - GitHub Copilot Agentとチームの共進化サイクル
koboriakira
0
600
脱Riverpod?fqueryで考える、TanStack Queryライクなアーキテクチャの可能性
ostk0069
0
210
新メンバーも今日から大活躍!SREが支えるスケールし続ける組織のオンボーディング
honmarkhunt
5
7.6k
スタートアップの急成長を支えるプラットフォームエンジニアリングと組織戦略
sutochin26
1
6.1k
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
780
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
540
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
660
テスト駆動Kaggle
isax1015
0
370
Featured
See All Featured
Designing Experiences People Love
moore
142
24k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
KATA
mclloyd
30
14k
Why Our Code Smells
bkeepers
PRO
336
57k
RailsConf 2023
tenderlove
30
1.1k
Side Projects
sachag
455
42k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
Producing Creativity
orderedlist
PRO
346
40k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
820
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