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
ドラ🔵もんでDIを学ぶ
Search
Tomoki Ota
June 21, 2024
Programming
0
5.7k
ドラ🔵もんでDIを学ぶ
ドラ🔵もんでDIと依存性逆転の注入を解説します。
コードの例など詳細な解説は以下で行なっています。
ドラ🔵もんで依存性の注入と依存性逆転の原則を理解する!!
Tomoki Ota
June 21, 2024
Tweet
Share
More Decks by Tomoki Ota
See All by Tomoki Ota
アーキテクチャの価値
tomo1227
0
110
アーキテクチャとビジネスロジック
tomo1227
0
110
【Go言語】テスト
tomo1227
0
66
【Go言語】クロージャ
tomo1227
0
290
【Go言語】イテレータ
tomo1227
0
82
【Go言語】エラーハンドリング
tomo1227
0
68
AIに淘汰されないようにするには?
tomo1227
0
72
【Go言語】range
tomo1227
0
78
【Go言語】break
tomo1227
0
71
Other Decks in Programming
See All in Programming
2年のAppleウォレットパス開発の振り返り
muno92
PRO
0
180
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
4
1.1k
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
530
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
6
2.3k
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
140
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
680
Graviton と Nitro と私
maroon1st
0
160
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
1
310
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.1k
AIエージェントの設計で注意するべきポイント6選
har1101
6
3k
生成AI時代を勝ち抜くエンジニア組織マネジメント
coconala_engineer
0
39k
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
180
Featured
See All Featured
SEO for Brand Visibility & Recognition
aleyda
0
4.2k
Become a Pro
speakerdeck
PRO
31
5.8k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
97
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
150
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
420
End of SEO as We Know It (SMX Advanced Version)
ipullrank
2
3.9k
Designing for humans not robots
tammielis
254
26k
A Tale of Four Properties
chriscoyier
162
24k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
1
350
WCS-LA-2024
lcolladotor
0
410
Transcript
Tomoki Ota υϥ🔵ΜͰ%*
υϥ🔵ΜͰDI υϥ🔵ΜͰґଘੑٯసͷݪଇ ΞδΣϯμ
DI
ͷ🟡ଠυϥ🔵Μʹґଘ ͷ🟡ଠυϥ🔵Μͷ͜ͱΛ ୭ʹ૬ஊ͠ͳ͍ͷͰɺ୭ υϥ͑Μ͕ؔΘ͍ͬͯΔ͜ ͱΛΓ·ͤΜɻ ґଘੑͷೖ ʙDI͍ͯ͠ͳ͍ঢ়ଶʙ
ͷ🟡ଠυϥ🔵Μʹґଘ ͷ🟡ଠυϥ🔵Μͷ͜ͱΛ ଞͷਓʹ૬ஊ͠·ͨ͠ɻ ґଘੑͷೖ ʙDIͨ͠ঢ়ଶʙ ೖͱݺͿ
໌ࣔతʹपΓʹԿΛඞཁͱ͢Δ͔ એݴ͢Δ͜ͱ ڱٛͷDI
ٛͷDI ґଘੑͷೖɺϦείϑͷஔݪଇɺAdatpterύλʔϯɺ CompositeύλʔϯͳͲ͋ΒΏΔύλʔϯͷू·Γɻ ίʔυΛૄ݁߹ʹͯ͠ɺอक༰қੑΛ্ͤ͞Δ
DI͔ͨ͠Βґଘੑͳ͘ͳΔ → ґଘੑແ͘ͳΓ·ͤΜ Α͋͘Δޡղ
DI͔ͨ͠ΒςετͰϞοΫͰ͖Δ → Ͱ͖Δ߹ͱͰ͖ͳ͍߹͕͋Δ Α͋͘Δޡղ
ςετͰ͖Δྫ ೖ
ςετͰ͖Δྫ ӈͷςετ
ςετͰ͖ͳ͍ྫ
DIͱςετ நతͳͷʹґଘ͍ͯ͠ΕɺDIͨ͠ ͚ͩͰςετͰ͖Δɻ ۩ମʹґଘ͍ͯ͠Δ߹ɺDIͯ͠ς ετͰ͖ͳ͍ɻ
ґଘੑٯసͷݪଇ
ґଘੑٯస ʙٯస͍ͯ͠ͳ͍ঢ়ଶʙ υϥ🔵Μ͕ͷ🟡ଠʹґଘ
ґଘੑٯస υϥ🔵Μͱͷ🟡ଠ͕ɺ࢛࣍⚪ϙέοτʹґଘ
ґଘੑٯస υϥ🔵Μ͕ɺͷ🟡ଠ(ͷ🟡ଠͱ࢛࣍⚪ϙέοτ)ʹґଘ ʙٯసͨ͠ঢ়ଶʙ
ґଘੑͷೖ ࢛࣍⚪ϙέοτ͑͋͞Εɺυ🟠ϛͰ͍͍
·ͱΊ ۩ମ͔Βநґଘͤ͞Δ͜ͱͰɺґଘੑΛ ٯస͢Δ͜ͱ͕Ͱ͖Δɻ → ςετ͕͘͢͠ͳΔ → Γସ͕͑͘͢͠ͳΔ