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
Swiftで外部ライブラリを使わないDIの管理方法 / How to manage DI wi...
Search
Takuya Iitsuka
February 05, 2020
Programming
1
2.6k
Swiftで外部ライブラリを使わないDIの管理方法 / How to manage DI without using external library in Swift
Takuya Iitsuka
February 05, 2020
Tweet
Share
Other Decks in Programming
See All in Programming
なんでRustの環境構築してないのにRust製のツールが動くの? / Why Do Rust-Based Tools Run Without a Rust Environment?
ssssota
5
6.8k
AIと人間の共創開発!OSSで試行錯誤した開発スタイル
mae616
2
780
iOSでSVG画像を扱う
kishikawakatsumi
0
150
CSC305 Lecture 06
javiergs
PRO
0
270
エンジニアインターン「Treasure」とHonoの2年、そして未来へ / Our Journey with Hono Two Years at Treasure and Beyond
carta_engineering
0
410
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
400
CSC305 Lecture 10
javiergs
PRO
0
220
コード生成なしでモック処理を実現!ovechkin-dm/mockioで学ぶメタプログラミング
qualiarts
0
240
Cursorハンズオン実践!
eltociear
2
1.2k
Range on Rails ―「多重範囲型」という新たな選択肢が、複雑ロジックを劇的にシンプルにしたワケ
rizap_tech
0
6.7k
Claude CodeによるAI駆動開発の実践 〜そこから見えてきたこれからのプログラミング〜
iriikeita
0
320
EMこそClaude Codeでコード調査しよう
shibayu36
0
320
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
514
110k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
GitHub's CSS Performance
jonrohan
1032
470k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Navigating Team Friction
lara
190
15k
The Straight Up "How To Draw Better" Workshop
denniskardys
238
140k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Building Applications with DynamoDB
mza
96
6.7k
YesSQL, Process and Tooling at Scale
rocio
173
15k
Designing for Performance
lara
610
69k
Build your cross-platform service in a week with App Engine
jlugia
232
18k
Transcript
4XJGUͰ֎෦ϥΠϒϥϦΛΘͳ͍ %*ͷཧํ๏ ΈͯͶͷ.FFUVQ ൧௩
൧௩ ৽ଔͰϛΫγΟʹೖࣾ ୈҰرͷΈͯͶࣄۀ෦ʹଐ ΞϓϦ։ൃνʔϜͰJ04Λத৺ʹ։ൃ ࣗݾհ
%*ʹ͍ͭͯ 4XJOKFDU ΈͯͶͷ%* ·ͱΊ ࣍
%*ʹ͍ͭͯ
w %FQFOEFODZ*OKFDUJPOʢґଘੑͷೖʣ w ίϯϙʔωϯτؒͷґଘؔΛഉআ͠ɺ֎෦͔Βґ ଘίϯϙʔωϯτΛೖ͢ΔσβΠϯύλʔϯ w ίϯϙʔωϯτ͕ؒૄ݁߹ʹͳΓ։ൃɺςετɺอ क͘͢͠ͳΔ w ඞཁͳͷʢΦϒδΣΫτʣΛ֎͔Β͚ͩ͢
%*ͱ
%*ʹΑΔ .FEJVN7JFX$POUSPMMFS 6TFS3FQPTJUPSZ .FEJVN3FQPTJUPSZ .FEJVN1SFTFOUFS w ྫʣϝσΟΞΛදࣔ͢Δը໘Λ࣮ͨ͠ΦϒδΣΫ τͷґଘؔ ґଘ͍ͯ͠Δʢೖ͢Δ͖ʣΦϒδΣΫτ
%*ʹΑΔ
%*ʹΑΔ ભҠ͍ͤͨ͞ 7JFX$POUSPMMFS
%*ʹΑΔ ඞཁ ґଘؔͷղܾ
w ґଘؔͷղܾΛ·ͱΊͯཧͰ͖Δͱศར %*ʹΑΔ
w αʔυύʔςΟ w 4XJOKFDU $MFBOTF /FFEMF FUD w ࣗલ࣮ w
$BLF1BUUFSO FUDʢΈͯͶͷ%*ʣ %*ཧͷओͳબࢶ
4XJOKFDU
w ґଘؔͷొɺղܾ͕؆୯ʹͰ͖Δ$ 4XJOKFDU
w ґଘؔͷొɺղܾ͕؆୯ʹͰ͖Δ$ 4XJOKFDU ొ͢ΔΦϒδΣΫτͷ ΠϯλʔϑΣʔε
w ґଘؔͷొɺղܾ͕؆୯ʹͰ͖Δ$ 4XJOKFDU ΠϯλʔϑΣʔεͷ ࣮ΦϒδΣΫτ
w ґଘؔͷొɺղܾ͕؆୯ʹͰ͖Δ$ 4XJOKFDU ඞཁͳґଘؔΛղܾ
w ґଘؔͷొɺղܾ͕؆୯ʹͰ͖Δ$ 4XJOKFDU
w ґଘؔͷొɺղܾ͕؆୯ʹͰ͖Δ$ 4XJOKFDU
w ಈతʹґଘؔΛղܾ͢ΔͷͰίϯύΠϧ࣌ʹਖ਼͠ ͕͞ݕূ͞Εͳ͍% w αʔυύʔςΟʹґଘ͢Δ% 4XJOKFDUͷ՝
ΈͯͶͷ%*
ΈͯͶͷ%* w )PHFΠϯλʔϑΣʔεΛ࣋ͭ)PHF*NQMͷΠϯελ ϯεΛऔಘͰ͖Δ)PHF'BDUPSZΛఆٛ͢Δ
ΈͯͶͷ%*
ΈͯͶͷ%* ΠϯλʔϑΣʔεͷܕΛฦ͢ TUBUJDGVODΛఆٛ
ΈͯͶͷ%* ΠϯλʔϑΣʔεͷ ࣮ΦϒδΣΫτΛฦ͢
ΈͯͶͷ%* ඞཁͳґଘؔΛղܾ
ΈͯͶͷ%*
ΈͯͶͷ%*
w ґଘؔͷએݴͱΠϯελϯεͷऔಘ͕؆୯$ w ੩తʹએݴ͍ͯ͠ΔͷͰίϯύΠϧ࣌ʹਖ਼͕͠͞ݕ ূ͞ΕΔ$ w αʔυύʔςΟʹґଘ͠ͳ͍$ w είʔϓͷఆٛɺґଘؔͷղܾΛࣗಈੜ͕Ͱ͖ ͳ͍%
ͳͥ͜ͷํ๏ͳͷ͔
w αʔυύʔςΟʔͷϥΠϒϥϦΛΘͳͯ͘े ࣮༻తͳґଘؔΛղܾ͢ΔΈΛ؆୯ʹ࣮Ͱ ͖Δ w %*ख๏Λબ͢Δͱ͖ʹʮࣗલͰ࣮͢Δʯ͜ͱ ࢹʹೖΕͯΈ͍͔͕ͯͰ͠ΐ͏͔ ·ͱΊ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠