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
なぜ誰もこう書いてくれない Dependency Injection
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Koji Saiki
October 15, 2017
Programming
1.9k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
なぜ誰もこう書いてくれない Dependency Injection
Koji Saiki
October 15, 2017
More Decks by Koji Saiki
See All by Koji Saiki
Scaffold for Read and Debug JavaScript
kojisaiki
0
100
Angular で PCF した話
kojisaiki
0
580
Why is the subject of the story about Java support JDK?
kojisaiki
0
140
いまどきのSIer的品質向上
kojisaiki
0
170
誰も教えてくれなかったSEとしてただ一つ必要なこと
kojisaiki
0
470
真・なぜ誰もこう書いてくれないDependency Injection入門
kojisaiki
0
790
Other Decks in Programming
See All in Programming
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
260
Inside Stream API
skrb
1
680
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
210
Agentic UI
manfredsteyer
PRO
0
140
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
450
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
530
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
4.9k
AutonomyとControlのあいだ:Graflowで記述するAIエージェント協調
myui
0
120
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
690
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
2k
The Arts and Crafts of Work in the AI Era — Toward Mastery in Software Development
kuranuki
1
750
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
2
660
Featured
See All Featured
The Invisible Side of Design
smashingmag
302
52k
Making Projects Easy
brettharned
120
6.7k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1.7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
230
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
840
Building AI with AI
inesmontani
PRO
1
1.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
730
Raft: Consensus for Rubyists
vanstee
141
7.5k
Crafting Experiences
bethany
1
180
Transcript
ͳͥ୭͜͏ॻ͍ͯ͘Εͳ͍ %FQFOEFODZ*OKFDUJPOೖ 2017/10/5
ࣗݾհ ! ͓ͳ·͑ɿࠤഢߛೋʢ͍͖͜͞͏͡ʣ ! ͱ͜ΖɿԬɾେࡕ ! ͭͿ͖ɿIUUQTUXJUUFSDPNTBJLPV ! ͿɿIUUQTHJUIVCDPNLPKJTBJLJ !
ͿΖ͙ɿIUUQJSPOZIBUFOBCMPHDPN
ɹ%FQFOEFODZ*OKFDUJPOɺґଘੑೖʜ ɹཧղ͍ͨ͠Ͱ͢ΑͶɻ
ʮͦ͜4FSWJDF$MBTTͷ*OTUBODFΛ ɹ*OKFDU͢ΕҰൃͰ͢Αɻʯ ɹͱ͔ݴ͍͍ͨͰ͢ΑͶɻ
ɹ·ͣ͜ΕΛ಄ʹୟ͖ࠐΜͰ͍ͩ͘͞ɻ
ʮ%FQFOEFODZ*OKFDUJPOʯͱ͍͏໊લ͔Β ɹػೳΛཧղ͢Δ͜ͱͰ͖·ͤΜʂʂʂ
z%*z͔Βਪଌ͢Δ͜ͱlෆՄೳzͰ͢ ! %FQFOEFODZ*OKFDUJPO ! ຊޠʹ༁͢Δͱʮґଘੑೖʯ ! ͔͜͜ΒೖΔͱཧղͰ͖·ͤΜ
͜ΕΘ͔Γ·͔͢ʁ
͜ΕΘ͔Γ·͔͢ʁ ! 0CKFDU0SJFOUFE1SPHSBNNJOH
͜ΕΘ͔Γ·͔͢ʁ ! 0CKFDU0SJFOUFE1SPHSBNNJOH ! .JTTJPO$POUSPM
͜ΕΘ͔Γ·͔͢ʁ ! 0CKFDU0SJFOUFE1SPHSBNNJOH ! .JTTJPO$POUSPM ! ӡ໋ͱ͍͏໊ͷ31( ! Ӭԕͱឺͷ13( !
܅ͱڹ͖͋͏31(
͜ΕΘ͔Γ·͔͢ʁ ! 0CKFDU0SJFOUFE1SPHSBNNJOH ! .JTTJPO$POUSPM ! ӡ໋ͱ͍͏໊ͷ31( ! Ӭԕͱឺͷ13( !
܅ͱڹ͖͋͏31( ! %FQFOEFODZ*OKFDUJPOOFX
ɹ͖͋ΒΊΑ͏
Ұ୴ɺ໊લΛΕ·͠ΐ͏ ! ਖ਼໊ࣜশͱ͔ຊޠͱ͔Εͯɺʮ%*ʯԿΛ͢Δͷʁͱ͍͏ͱ͜Ζ͔Βೖ Δͷ͕l࣮֬z
͡Ό͋ʮ%*ʯԿΛ͢Δͷʁ ! ུশɾਖ਼໊ࣜশΛҙࣝͤͣɺతɾୡ͍ͨ͜͠ͱΛཧղ͠·͠ΐ͏ ! ڭՊॻɿʮ࡞ͬͯཧղ͢Δ%*ίϯςφʯ IUUQEIBUFOBOFKQOPXPLBZ ! ͖ͩ͠͞Μ͕͢͞Ͱ͢
! هࣄͷཁͳͲ͍ͯ͠·ͤΜɻ͔͋͠Βͣɻ
͍ͭ͜ʹͯ͠΄͍͜͠ͱ
͍ͭ͜ʹͯ͠΄͍͜͠ͱ ! ཉ͍͠ΦϒδΣΫτʢΠϯελϯεʣΛ༻ҙͯ͘͠ΕΔ
͍ͭ͜ʹͯ͠΄͍͜͠ͱ ! ཉ͍͠ΦϒδΣΫτʢΠϯελϯεʣΛ༻ҙͯ͘͠ΕΔ ! Ұੜ͞ΕͨΦϒδΣΫτΛอ͓͍ͯͯ͘͠ΕΔ
͍ͭ͜ʹͯ͠΄͍͜͠ͱ ! ཉ͍͠ΦϒδΣΫτʢΠϯελϯεʣΛ༻ҙͯ͘͠ΕΔ ! Ұੜ͞ΕͨΦϒδΣΫτΛอ͓͍ͯͯ͘͠ΕΔ ! γϯάϧτϯΠϯελϯε͘ΕΔ
͍ͭ͜ʹͯ͠΄͍͜͠ͱ ! ཉ͍͠ΦϒδΣΫτʢΠϯελϯεʣΛ༻ҙͯ͘͠ΕΔ ! Ұੜ͞ΕͨΦϒδΣΫτΛอ͓͍ͯͯ͘͠ΕΔ ! γϯάϧτϯΠϯελϯε͘ΕΔ ! ςετͷͱ͖ɺςετ༻ͷΦϒδΣΫτͱखܰʹΓସ͑ͯ͘ΕΔ
ɹͭ·Γɺ ʮ͍͍ײ͡ʹΦϒδΣΫτΛ͘ΕΔͭʯ ɹͰ͢ɻ
͡Ό͋ɺͦΖͦΖΠέͯΔ໊લ͚ͭΔ͔ ! .BSUJOʮϓϩάϥϜΦϒδΣΫτΛͬͯಈ࡞͍ͯ͠ΔɻͦΕΛదʹࠩ͠ ࠐΜͰ΄͍͠ɻʯ
͡Ό͋ɺͦΖͦΖΠέͯΔ໊લ͚ͭΔ͔ ! .BSUJOʮϓϩάϥϜΦϒδΣΫτΛͬͯಈ࡞͍ͯ͠ΔɻͦΕΛదʹࠩ͠ ࠐΜͰ΄͍͠ɻʯ ! .BSUJOʮͭ·ΓzґଘੑzͷzೖzͶɻʯ
͡Ό͋ɺͦΖͦΖΠέͯΔ໊લ͚ͭΔ͔ ! .BSUJOʮϓϩάϥϜΦϒδΣΫτΛͬͯಈ࡞͍ͯ͠ΔɻͦΕΛదʹࠩ͠ ࠐΜͰ΄͍͠ɻʯ ! .BSUJOʮͭ·ΓzґଘੑzͷzೖzͶɻʯ ! .BSUJOʮͰ͢Ͷɻʯ ! Զʮʁʁʁʯ
ɹɹɹɹʊਓਓਓਓਓਓਓਓਓਓਓਓʊ ɹɹɹɹʼɹ%FQFOEFODZ*OKFDUJPOɹʻ ɹɹɹɹʉ:?:?:?:?:?:?:?:?:?:?:ʉ
͡Ό͋ɺͦΖͦΖΠέͯΔ໊લ͚ͭΔ͔ ! .BSUJOʮ%*ΛΒͤΔϓϩάϥϜʹͳΜ໊ͯલΛ͚ͭΑ͏ʁʯ
͡Ό͋ɺͦΖͦΖΠέͯΔ໊લ͚ͭΔ͔ ! .BSUJOʮ%*ΛΒͤΔϓϩάϥϜʹͳΜ໊ͯલΛ͚ͭΑ͏ʁʯ ! .BSUJOʮͷղऍͩͱ͜ΕzίϯςφzͳΜͩΑͶɻΦϒδΣΫτΛఏڙ͠ͳ ͕ΒɺϒϥοΫϘοΫεͰͪΌΜͱࣄΛ͜ͳͯ͘͠ΕΔΞΫλʔɻʯ
͡Ό͋ɺͦΖͦΖΠέͯΔ໊લ͚ͭΔ͔ ! .BSUJOʮ%*ΛΒͤΔϓϩάϥϜʹͳΜ໊ͯલΛ͚ͭΑ͏ʁʯ ! .BSUJOʮͷղऍͩͱ͜ΕzίϯςφzͳΜͩΑͶɻΦϒδΣΫτΛఏڙ͠ͳ ͕ΒɺϒϥοΫϘοΫεͰͪΌΜͱࣄΛ͜ͳͯ͘͠ΕΔΞΫλʔɻʯ ! .BSUJOʮz%*ͷΛෛ͏ίϯςφzͶɻʯ ! Զʮʁʁʁʁʁʁʯ
ɹɹɹɹɹʊਓਓਓਓਓਓਓʊ ɹɹɹɹɹʼɹ%*ίϯςφɹʻ ɹɹɹɹɹʉ:?:?:?:?:?:ʉ
ɹ͖͋ΒΊΑ͏
ɹͪΐͬͱ͕Μͬͯߟ͑Δͱɺ ɹ%*ίϯςφͷzίϯςφzͬͯɾɾɾ
͜͏͡Όͳͯ͘
͜͏ʁ
Ͱɺ͜͏ʁ ΦϒδΣΫτ Πϯελϯε γϯάϧτϯ औΓἧ͑ͯ·͢ʂ ΦʔμʔϝΠυ ঝΓ·͢ʂ
·ͱΊ ! z%FQFOEFODZ*OKFDUJPOzɺzґଘੑೖzͱ͍͏ݴ༿ΕͯɺతΛΓ·͠ ΐ͏ɻ֮ͦͯͬͯ͑͠·͠ΐ͏ɻ ! z%*ίϯςφzʮ%*ͷׂΛ୲͏ϓϩάϥϜʯఔʹΏΔ֮͑͘·͠ΐ͏ɻ ! ͖ͩ͠ͳ͓͖ɹ͞Μɺ͍Β͢ͱɹ͞Μɺແஅ༻Ͱࣦྱ͠·͢N @@ N
͓ΘΓ kojisaiki/saikou9901