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
tomoya-kamaji
May 22, 2022
Technology
0
880
メンヘラコードをDIを使って駆逐する
tomoya-kamaji
May 22, 2022
Tweet
Share
More Decks by tomoya-kamaji
See All by tomoya-kamaji
デザインドックから学ぶ開発手法
tomoyakamaji
0
630
Clean Architecture ~ 達人に学ぶソフトウェア構造と設計
tomoyakamaji
0
900
複雑な検索処理をElasticSearchで駆逐する
tomoyakamaji
0
1.1k
Other Decks in Technology
See All in Technology
いいたいことちゃんという
tkengo
0
260
生成AIと産業向けソフトウェアの自動生成 〜 ハノーバーメッセ2024より〜
kioto
2
240
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
0
1.9k
QAエンジニアが伝えたい品質保証の羅針盤 / Compass for Quality Assurance
mii3king
1
180
M5stackで使用できるpHセンサの開発
shinrinakamura
1
290
Gradle Build Scanを使ってビルドのことを知ろう potatotips #87
tomorrowkey
2
170
データベース03: 関係データモデル
trycycle
0
110
GrafanaMeetup_AmazonManagedGrafanaのアクセス制御機能とマルチテナント環境下でのアクセス制御について
daitak
0
470
コードファーストの考え方。 Amplify Gen2から学ぶAWS次世代のWeb開発体験
yoshiitaka
2
530
Azureの基本的な権限管理の勉強会
yhana
1
2.2k
サービス開発におけるVue3とTypeScriptの親和性について
tsukuha
0
110
AWSやJAWS-UGとの出会いを振り返る
yoyoyopg
1
180
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
8
3.4k
Building Flexible Design Systems
yeseniaperezcruz
320
37k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
GitHub's CSS Performance
jonrohan
1025
450k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.1k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
7k
How to name files
jennybc
65
93k
The Brand Is Dead. Long Live the Brand.
mthomps
49
29k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
Designing for humans not robots
tammielis
247
25k
Principles of Awesome APIs and How to Build Them.
keavy
121
16k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Transcript
DI
(27) 2018/4 Sier 2021/6 Another works
ෳۀΛ͍ͨ͠ਓͱෳۀਓࡐΛొ༻͍ͨ͠اۀ༷Λͭͳ͙ ϚονϯάϓϥοτϑΥʔϜ հखྉͳ͠ɺఆֹͰ࠾༻͠์
DI
λεΫొΫϥε $SFBUF5BTL6TF$BTF .Z42-ʹӬଓԽ͢ΔΫϥε .Z4RM3FQPTJUPZ ͱ͘Μ ·͍ͪΌΜ ɾ·͍ͪΌΜͷมԽʹͱ͘Μ͕ ɹӨڹΛड͚Δ
ɾ·͍ͪΌΜʹґଘ͗ͯ͢͠ɺ·͍ ɹͪΌΜ͔ΒΓ͑ΒΕͳ͍ ɾ%#ొΫϥεͷมԽʹλεΫొΫϥε͕ ɹӨڹΛड͚Δ ɾ.Z42-͔ΒΓ͑ΒΕͳ͍
None
ᶃ λεΫొ͢ΔৼΔ͍Λද͍͕ͨ͠03.ͷ͕ࣝ͋ͬͯ ɹॲཧ͕ಡΈͮΒ͍ ᶄ ಛఆͷ03.%#ʹґଘͨ͠ॲཧʹͳ͍ͬͯΔ
ᶃ λεΫొ͢ΔৼΔ͍Λද͍͕ͨ͠03.ͷ͕ࣝ͋ͬͯ ɹॲཧ͕ಡΈͮΒ͍ ͬͨ ᶄ ಛఆͷ03.%#ʹґଘͨ͠ॲཧʹͳ͍ͬͯΔ ˠ.Z4RMͷ͕ࣝVTF$BTFʹ࿙Ε͍ͯΔ ґଘ͍ͯ͠Δ
MySQL Radis MySQL
Radis ଞʹӬଓԽઌ͕૿͑ͨΒɺɺɺ JGจ͕૿͑·͘Δ ՃΕ͕ൃੜ͢Δ λεΫొΫϥε $SFBUF5BTL6TF$BTF .Z4RM
3FQPTJUPSZ 3BEJT 3FQPTJUPSZ ɺɺɺɺ
λεΫొΫϥε $SFBUF5BTL6TF$BTF .Z4RM 3FQPTJUPSZ 3BEJT 3FQPTJUPSZ ɺɺɺɺ
*5BTL3FQPTJUPSZ *OUFSGBDF5BTL3FQPTJUPSZ MySqlReposity RadisRepsotory (interface) (DI) JGذ͕ͳ͘ͳΔ ಛఆͷ%#ʹґଘ͠ͳ͍
DI( ) - - ( mock ) - ( )
- interface