Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Unity設計勉強会 単一責任原則編 / Unity Architecture SRP
Search
Ryo Yamamoto
September 05, 2019
Programming
72
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Unity設計勉強会 単一責任原則編 / Unity Architecture SRP
Ryo Yamamoto
September 05, 2019
More Decks by Ryo Yamamoto
See All by Ryo Yamamoto
[作成途中]Unity設計勉強会 ポリモーフィズム編 / Unity Architecture Polymophism
ryo24
0
53
3 Education Topics For LightningTalk
ryo24
1
32
Presentationに流れを作ろう
ryo24
1
72
定期発表会スライドアドバイス
ryo24
0
59
ライトニングトークレベルアップ講座
ryo24
1
120
Other Decks in Programming
See All in Programming
ジョジョの世界をXRで再現する
mofurune
0
160
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.6k
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.9k
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
220
パスワード再設定メールのURLについて知っておこう
uyuki234
0
160
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
180
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
0
460
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
120
Domain-Driven Transformation
hschwentner
2
2.3k
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
610
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
750
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
300
Featured
See All Featured
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
620
Designing for Timeless Needs
cassininazir
1
530
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
500
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
77k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
540
Crafting Experiences
bethany
1
380
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.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
ߦ͍ํ ɾׂ ɹυϥΠόʔ ɹϞόʔ ɾυϥΠόʔɿίʔυॻ͘ਓɻΔ͜ͱશ ࣮ͯگ͢Δ ɾϞόʔɿͳΜ͔Μݴ͏ਓ ɾ࣌ؒͰυϥΠόʔΛͲΜͲΜަ