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
Oxlint JS plugins
kazupon
1
890
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
130
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
120
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
380
Fragmented Architectures
denyspoltorak
0
150
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
230
ぼくの開発環境2026
yuzneri
0
210
360° Signals in Angular: Signal Forms with SignalStore & Resources @ngLondon 01/2026
manfredsteyer
PRO
0
120
AI時代のキャリアプラン「技術の引力」からの脱出と「問い」へのいざない / tech-gravity
minodriven
21
7.2k
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
230
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
130
SourceGeneratorのススメ
htkym
0
190
Featured
See All Featured
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
What's in a price? How to price your products and services
michaelherold
247
13k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
Visualization
eitanlees
150
17k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
580
Mind Mapping
helmedeiros
PRO
0
81
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
96
Between Models and Reality
mayunak
1
190
The Cult of Friendly URLs
andyhume
79
6.8k
How Software Deployment tools have changed in the past 20 years
geshan
0
32k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
180
The agentic SEO stack - context over prompts
schlessera
0
630
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
ߦ͍ํ ɾׂ ɹυϥΠόʔ ɹϞόʔ ɾυϥΠόʔɿίʔυॻ͘ਓɻΔ͜ͱશ ࣮ͯگ͢Δ ɾϞόʔɿͳΜ͔Μݴ͏ਓ ɾ࣌ؒͰυϥΠόʔΛͲΜͲΜަ