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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Tetsuya Mori
PRO
December 09, 2017
Programming
2k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Unity meets Clean Architecture
【年末だよ】Unity お・と・な のLT大会 2017【ポロりしてもいいのよ】での発表資料です。
Tetsuya Mori
PRO
December 09, 2017
More Decks by Tetsuya Mori
See All by Tetsuya Mori
ビルドシステムを C# 大統一したお話
monry
PRO
2
1.5k
C# 大統一理論推進委員会 会員のための Unity Package Manager プロジェクト構成案
monry
PRO
0
1.7k
はじめての C# 大統一理論
monry
PRO
0
830
unity1week でチーム開発を成功させる秘訣
monry
PRO
0
320
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
550
Democratized Unity Package Manager
monry
PRO
1
3k
使ってみよう! Unity RemoteSettings/Let's use Unity RemoteSettings
monry
PRO
1
1.3k
Other Decks in Programming
See All in Programming
技術記事、 専門家としてのプログラマ、 言語化
mizchi
13
6.2k
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
140
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
270
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
350
Oxlintのカスタムルールの現況
syumai
6
1.1k
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
880
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
270
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
6
1.3k
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
170
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
550
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.3k
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
150
Featured
See All Featured
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.6k
The untapped power of vector embeddings
frankvandijk
2
1.8k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
430
Raft: Consensus for Rubyists
vanstee
141
7.5k
Music & Morning Musume
bryan
47
7.2k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
360
A Modern Web Designer's Workflow
chriscoyier
698
190k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
200
The Invisible Side of Design
smashingmag
302
52k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
First, design no harm
axbom
PRO
2
1.2k
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