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設計勉強会 単一責任原則編 / Unity Architecture SRP
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Ryo Yamamoto
September 05, 2019
Programming
0
69
Unity設計勉強会 単一責任原則編 / Unity Architecture SRP
Ryo Yamamoto
September 05, 2019
Tweet
Share
More Decks by Ryo Yamamoto
See All by Ryo Yamamoto
[作成途中]Unity設計勉強会 ポリモーフィズム編 / Unity Architecture Polymophism
ryo24
0
49
3 Education Topics For LightningTalk
ryo24
1
29
Presentationに流れを作ろう
ryo24
1
67
定期発表会スライドアドバイス
ryo24
0
54
ライトニングトークレベルアップ講座
ryo24
1
120
Other Decks in Programming
See All in Programming
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
370
2026年 エンジニアリング自己学習法
yumechi
0
130
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
420
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
250
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
520
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
300
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
140
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
5
350
CSC307 Lecture 08
javiergs
PRO
0
670
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
110
AI & Enginnering
codelynx
0
110
Featured
See All Featured
SEO for Brand Visibility & Recognition
aleyda
0
4.2k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
160
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
640
Information Architects: The Missing Link in Design Systems
soysaucechin
0
770
How to Think Like a Performance Engineer
csswizardry
28
2.4k
Statistics for Hackers
jakevdp
799
230k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
110
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
320
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
63
Transcript
Date : 09/05 Time : 15:00~ Place: LiT! Osaka S.O.L.I.D
Object Oriented Design Thurs 09/05
None
ઃܭͬͯ ͳΜͧʁ
A long time ago in a galaxy far, far away.
. .
ੈք ฏͰͨ͠
δΣμΠͷ ڭ͑
ϓϩάϥϜ Λ࡞Δ ʹ ͭͷॲཧͷྲྀΕΛ ߟ͑Δ͜ͱ
None
શͯΛ ॻ͚ͳ͍
ήʔϜΛىಈͨ͠ΒϞʔυબˠϞʔυ௨ৗϞʔυͱ %-$Λߪೖ͢Δ͜ͱͰબͿ͜ͱ͕Ͱ͖ΔϚελʔϞʔυ ͷ̎ͭɻ%-$ͷߪೖϑϥά͕0/ͷͱ͖͚ͩϚελʔϞʔ υΛදࣔͤ͞ΔˠήʔϜ։࢝࣌ΦʔϓχϯάϜʔϏʔ͔ Βελʔτˠͨͩ͠ɺήʔϜΛҰΫϦΞ͍ͯͨ͠ΒϜʔ ϏʔεΩοϓϘλϯΛදࣔͤ͞ΔˠήʔϜ͕ελʔτͨ͠ Βɺ࣍ͷ͜ͱΛϓϨΠϠʔϦΞϧλΠϜʹߦ͏͜ͱ͕Ͱ ͖ΔˠΩϟϥΫλʔͷҠಈɻΧϝϥͷҠಈɻͨͩ͠ Χϝϥͷ্ԼํͷҠಈઃఆʹΑͬͯస͍ͯ͠Δ͜ͱ ͕͋Δɻδϟϯϓɻۭͨͩ͠தʹ͍Δͱ͖࠶ͼδϟ
ϯϓ͢Δ͜ͱ͕Ͱ͖ͳ͍ɻ͔͠͠ύϥηʔϧΛ֫ಘ͍ͯ͠ Δ͋ͱͰɺ#ϘλϯΛԡ͢͜ͱͰύϥηʔϧΛىಈ͢Δ ͜ͱ͕Ͱ͖Δɻϝχϡʔը໘Λ։͘
ʢࠈͷਤʣ
ઃܭ
None
ͳΜ ͔Μ ͋ͬͯ
͍ΖΜͳ ϊϋ ͨ·ͬͨ
ΦϒδΣΫτ ࢦ
ݪଇ
,*44 %3: :"(/*
σβΠϯ ύλʔϯ
ΦϒδΣΫτ ࢦઃܭ ͷݪଇ
S.O.L.I.D.
ઃܭΛ͠ͳ͍ ··ͷେن ϓϩδΣΫτ
None
DEMO
ίʔυ ॻ͔ͳ͍ͱ ମݧͰ͖ͳ͍
ࠓͷྲྀΕ ɾ͍͖ͳΓྫ࡞λΠϜʂ ɾྫΛͱʹɺݪଇͷղઆ ɾՃػೳΈΜͳͰڠྗͯ͠ ɹͯ͠ΈΑ͏
ը໘ਤʂ ਫ Ր બ બΕͨݩૉ දࣔཝ
ʂ ɾϘλϯΛͭ࡞Ζ͏ʂܾͭఆϘλϯ ʻબϘλϯʼ ɾ֤ݩૉͷબɺબղআΛܾΊΔ ɾยํͰ྆ํಉ࣌Ͱબ0, ɾબ࣌ͦͷݩૉͷબ͕ ɹ͔ΔΑ͏ʹ͢Δ ɹʢςΩετ͕ଟҰ൪ૣ͍ͱࢥ͍·͢ʣ ʻܾఆϘλϯʼ ɾςΩετʹબΕͨݩૉΛදࣔ͢Δ
None
ૉࡐ63- MJUTIVOJUZTSQ
ղઆ
Կ͕ Α͘ͳ͍ͷ͔
ϓϩδΣΫτ࡞ʹͼ͜Δප ɾΦϒδΣΫτεΫϦϓτප ɹࣗͷใࣗͰશ෦Γ͘Γ ɹ֎෦ͷใΜΜૢ࡞ ˠ݁Ռɺॲཧ͕ෳࡶʹͳΔ ɾؔͷఆ͍ٛͬͯΔ͚Ͳ ɹ͍ํΒͳ͍ ɹؔͦͷͷ ɹҾͱΓͷ͍ํ
ਫ Ր ܾఆ ௨৴͕૿͑ΔͱҰؾʹෳࡶʹ
ਐԽͷͨΊʹ ɾಜεΫϦϓτΛ࡞Ζ͏ ˠεΩϧΛ͍࣋ͬͯΔ͔ͷఆΛ ɹͦΕͧΕͷεΫϦϓτͰߦΘͳ͍ɻ ɹఆͷ͓ئ͍ΛಜεΫϦϓτʹૹΔ ɾҾ͕͋Δϝιου ˠϘλϯͷεΫϦϓτ·ͱΊΒΕΔ
ͦͷલʹ
$BOWBT
͜ͷͭઃఆ͢Δͱɺ 6*่Εগͳ͘ͳΔʂ ɾ4DBMF8JUI4DSFFO4J[Fʹมߋ ɾ"ODIPSΛઃఆ͢Δ ҐஔΛௐ͢Δݪ
S.O.L.I.D.
40-*%ݪଇ ɾ4ɿ୯Ұͷݪଇ ɾ0ɿ։์ดͷݪଇ ɾ-ɿϦείϑͷஔݪଇ ɾ*ɿΠϯλʔϑΣΠεͷݪଇ ɾ%ɿґଘੑٯసͷݪଇ
40-*%ݪଇ ɾ4ɿ୯Ұͷݪଇ ɾ0ɿ։์ดͷݪଇ ɾ-ɿϦείϑͷஔݪଇ ɾ*ɿΠϯλʔϑΣΠεͷݪଇ ɾ%ɿґଘੑٯసͷݪଇ ΫϥεΠϯλʔϑΣΠε ͷ͕ࣝඞཁ
ͭʹ͚̍ͭͩͷ ׂΛ࣋ͨͤΔ ݪଇ ୯Ұͷݪଇ
Ϙλϯ ࣗࣗͷঢ়ଶʢݟͨʣ͚ͩʹΛ࣋ͭ ήʔϜ ಜ Ϙλϯ͕ԡ͞Εͨ ͜ͱΛ௨ ήʔϜͷঢ়ଶͷཧ Ϙλϯͷঢ়ଶͷཧ ˠήʔϜͷঢ়ଶʹ͍ͭͯ ɹҰΒͳ͍
Ϙλϯ εΩϧ͕બ͞Εͨ ͔ͷ݁ՌΛ࿈བྷ
ਫ Ր ܾఆ ௨৴͕૿͑ΔͱҰؾʹෳࡶʹ
Πϝʔδ ಜεΫϦϓτ
ಜεΫϦϓτͷ࡞Γํ ɾۭͷήʔϜΦϒδΣΫτΛ࡞Δ ˠΑ͋͘Δ໊લɿ̋̋.BOBHFS ɾಜεΫϦϓτΛ࡞Δ ˠ̋̋.BOBHFS4DSJQU ɾಜεΫϦϓτΛ(FU$PNQPOFOUͯ͠ ɹԿ͔͋Ε.BOBHFSʹ࿈བྷ
ಜεΫϦϓτ͚ͩ͡Όͳ͍ʂ ɾΓ͍ͨ͜ͱׂΛ͚Δ͜ͱ ˠಜͦͷΠϝʔδͷํͷͭ ɾͨͱ͑ɾɾɾ ˠΞΫγϣϯήʔϜͰϓϨΠϠʔʹ ɹҠಈͱঢ়ଶҟৗ͕͋Δ߹ׂ୲
ɾಜ͕࡞Εͦ͏͔ʁ ɾׂ୲͕Ͱ͖Δ͔ʁ ॲཧΛ͚Δ͖͔͚ͬ
Ҿϝιου
%3: %PO`U3FQFBU:PVSTFMG
Script1{ SceneManager.LoadSceneʢ”Main”ʣ } Script2{ SceneManager.LoadSceneʢ”Result”ʣ } Script3{ SceneManager.LoadSceneʢ”Title”ʣ }
ChangeScript(string name){ SceneManager.LoadSceneʢnameʣ; }
ࢀߟॻ੶
None
Ԡ༻
ൃలɿΤϨϝϯτΛՃͯ͠ΈΑ͏ ɾՐɺਫʹଓ͘ɺᔅʢ"JSʣͱ &BSUI ɹΛ࡞Ζ͏ ʻࠓΒͳ͍͚Ͳɺ͠Α͚Εʼ ɾ(JU)VC͔ΒͭͷϒϥϯνͷϓϩδΣΫτ Λμϯϩʔυ͢Δ ɾͦΕͧΕมߋͯ͠ɺมߋͷྔͳͲΛ֬ೝ
ɾͭͷɺ࠷େͭ·Ͱͷબ͔͠Ͱ͖ͳ ͍Α͏ʹ͠Α͏ ͭΊબͰ͖ͳ͍ બ͕Ͱ͖ͳ͍͜ͱΛ6*Ͱදࣔͤ͞Δ ʢ%FCVH-PH͙͢ʹ௨Ͱ͖ΔͨΊ/(ʣ ൃలɿ࠷େબΛܾΊΑ͏
Կ൪ͷثΛ͍࣋ͬͯΔ͔ɿint ΞΠςϜΛ͍࣋ͬͯΔ͔ͷϑϥά: bool if(weaponcount == 1){ if(getkeydown(downArrow){ instanctiate(tama); ak47Count -=1;
} } if(weaponcount == 2){ if(getkey(downArrow){ instanctiate(tama); skorpionCount -=1; } }
ɾ௨ৗ߈ܸͱಛघ߈ܸΛ࡞Ζ͏ʂ ɹಛघ߈ܸબͨ͠ΤϨϝϯτͰͷ߈ܸʂ ɹʢ%FCVH-PHPS֤৭ͷύʔςΟΫϧग़͢ʣ ɾεΩϧεϩοτͷ֓೦Λ࡞Ζ͏ ɹબͨ͠εΩϧΛεϩοτʹೖΕΔ ɹಛघ߈ܸͰҰʹ͑ΔεΩϧ͚ͭͩ ɹˠݱࡏΞΫςΟϒͳεΩϧͱ͍͏Πϝʔδ ɾ߈ܸͨ͠ΒΞΫςΟϒεΩϧ͕ ɹॱ൪ʹมΘΔΑ͏ʹ͢Δʢϧʔϓ͢Δʣ ߴɿ߈ܸ
ɾλΠτϧը໘ΛՃͯ͠Ϟʔυબ ʻڧͯ͘χϡʔήʔϜϞʔυʢ5/(ʣʼ ݬͷݩૉΤʔςϧʢ&UIFSʣΛબՄೳ ɹʢ5/(࣌ݩૉϘλϯ͕Ұͭ૿͑Δʣ ࠷େબ͕ʹ૿͑Δ ͭͷݩૉͷɺ͕ͭϥϯμϜͰબ ɹ͞Εͨঢ়ଶ͔ΒϝΠϯը໘ʹҠಈ͢Δ ߴɿڧͯ͘χϡʔήʔϜΛ࡞Ζ͏
ը໘ਤʂ ελʔτ ڧͯ͘χϡʔήʔϜ ਫ Ր બ બΕͨݩૉ දࣔཝ ᔅ 1SFTTFE
Ԡ༻ͷͨΊͷώϯτ ɾFOVN 4XJUDIΛ͓͏ ɾγϯάϧτϯΛ͓͏ ʢը໘ҠಈͰઃఆΛҾ͖ܧ͙߹ʣ ɾ&MFNFOUΫϥε࡞Ζ͏
.PC 1SPHSBNJOH
ߦ͍ํ ɾׂ ɹυϥΠόʔ ɹϞόʔ ɾυϥΠόʔɿίʔυॻ͘ਓɻΔ͜ͱશ ࣮ͯگ͢Δ ɾϞόʔɿͳΜ͔Μݴ͏ਓ ɾ࣌ؒͰυϥΠόʔΛͲΜͲΜަ