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
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
7
2.8k
ぼくの開発環境2026
yuzneri
0
190
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
2.4k
Oxlintはいいぞ
yug1224
5
1.3k
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
4
270
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.3k
今から始めるClaude Code超入門
448jp
8
8.6k
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
130
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.8k
CSC307 Lecture 01
javiergs
PRO
0
690
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
180
なるべく楽してバックエンドに型をつけたい!(楽とは言ってない)
hibiki_cube
0
140
Featured
See All Featured
Making Projects Easy
brettharned
120
6.6k
Scaling GitHub
holman
464
140k
Crafting Experiences
bethany
1
48
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
320
What does AI have to do with Human Rights?
axbom
PRO
0
2k
Designing for Timeless Needs
cassininazir
0
130
Thoughts on Productivity
jonyablonski
74
5k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Prompt Engineering for Job Search
mfonobong
0
160
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
320
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
250
Docker and Python
trallard
47
3.7k
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
ߦ͍ํ ɾׂ ɹυϥΠόʔ ɹϞόʔ ɾυϥΠόʔɿίʔυॻ͘ਓɻΔ͜ͱશ ࣮ͯگ͢Δ ɾϞόʔɿͳΜ͔Μݴ͏ਓ ɾ࣌ؒͰυϥΠόʔΛͲΜͲΜަ