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
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
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
200
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
190
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
4
570
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
200
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
380
高速開発のためのコード整理術
sutetotanuki
1
400
カスタマーサクセス業務を変革したヘルススコアの実現と学び
_hummer0724
0
690
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
280
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
3.9k
Basic Architectures
denyspoltorak
0
670
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
2.5k
CSC307 Lecture 07
javiergs
PRO
0
550
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
320
Raft: Consensus for Rubyists
vanstee
141
7.3k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
The agentic SEO stack - context over prompts
schlessera
0
630
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
640
GitHub's CSS Performance
jonrohan
1032
470k
The Spectacular Lies of Maps
axbom
PRO
1
520
Optimising Largest Contentful Paint
csswizardry
37
3.6k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.5k
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
ߦ͍ํ ɾׂ ɹυϥΠόʔ ɹϞόʔ ɾυϥΠόʔɿίʔυॻ͘ਓɻΔ͜ͱશ ࣮ͯگ͢Δ ɾϞόʔɿͳΜ͔Μݴ͏ਓ ɾ࣌ؒͰυϥΠόʔΛͲΜͲΜަ