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.5k
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
TypeScriptのmoduleオプションを改めて整理する
bicstone
4
420
Reactive Thinking with Signals, Resource API, and httpResource @Devm.io Angular 20 Launch Party
manfredsteyer
PRO
0
130
【TSkaigi 2025】これは型破り?型安全? 真実はいつもひとつ!(じゃないかもしれない)TypeScript クイズ〜〜〜〜!!!!!
kimitashoichi
1
300
AIエージェントによるテストフレームワーク Arbigent
takahirom
0
260
ワンバイナリWebサービスのススメ
mackee
10
7.4k
技術的負債と戦略的に戦わざるを得ない場合のオブザーバビリティ活用術 / Leveraging Observability When Strategically Dealing with Technical Debt
yoshiyoshifujii
0
160
#QiitaBash TDDでAIに設計イメージを伝える
ryosukedtomita
2
1.6k
イベントソーシングとAIの親和性ー物語とLLMに理解できるデータ
tomohisa
1
160
Doma で目指す ORM 最適解
nakamura_to
1
160
バランスを見極めよう!実装の意味を明示するための型定義 TSKaigi 2025 Day2 (5/24)
whatasoda
2
770
インターフェース設計のコツとツボ
togishima
2
470
TVer iOSチームの共通認識の作り方 - Findy Job LT iOSアプリ開発の裏側 開発組織が向き合う課題とこれから
techtver
PRO
0
700
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
106
19k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.8k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
460
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
Designing for Performance
lara
608
69k
RailsConf 2023
tenderlove
30
1.1k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Fireside Chat
paigeccino
37
3.5k
Balancing Empowerment & Direction
lara
1
83
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 %*ख๏Λબ͢Δͱ͖ʹʮࣗલͰ࣮͢Δʯ͜ͱ ࢹʹೖΕͯΈ͍͔͕ͯͰ͠ΐ͏͔ ·ͱΊ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠