DI
View Slide
(27) 2018/4 Sier2021/6 Another works
ෳۀΛ͍ͨ͠ਓͱෳۀਓࡐΛొ༻͍ͨ͠اۀ༷Λͭͳ͙ϚονϯάϓϥοτϑΥʔϜհखྉͳ͠ɺఆֹͰ࠾༻͠์
λεΫొΫϥε $SFBUF5BTL6TF$BTF.Z42-ʹӬଓԽ͢ΔΫϥε .Z4RM3FQPTJUPZͱ͘Μ·͍ͪΌΜɾ·͍ͪΌΜͷมԽʹͱ͘Μ͕ɹӨڹΛड͚Δɾ·͍ͪΌΜʹґଘ͗ͯ͢͠ɺ·͍ɹͪΌΜ͔ΒΓ͑ΒΕͳ͍ɾ%#ొΫϥεͷมԽʹλεΫొΫϥε͕ɹӨڹΛड͚Δɾ.Z42-͔ΒΓ͑ΒΕͳ͍
ᶃ λεΫొ͢ΔৼΔ͍Λද͍͕ͨ͠03.ͷ͕ࣝ͋ͬͯɹॲཧ͕ಡΈͮΒ͍ᶄ ಛఆͷ03.%#ʹґଘͨ͠ॲཧʹͳ͍ͬͯΔ
ᶃ λεΫొ͢ΔৼΔ͍Λද͍͕ͨ͠03.ͷ͕ࣝ͋ͬͯɹॲཧ͕ಡΈͮΒ͍ͬͨᶄ ಛఆͷ03.%#ʹґଘͨ͠ॲཧʹͳ͍ͬͯΔˠ.Z4RMͷ͕ࣝVTF$BTFʹ࿙Ε͍ͯΔ ґଘ͍ͯ͠Δ
MySQL Radis MySQL
RadisଞʹӬଓԽઌ͕૿͑ͨΒɺɺɺ JGจ͕૿͑·͘Δ ՃΕ͕ൃੜ͢ΔλεΫొΫϥε $SFBUF5BTL6TF$BTF.Z4RM 3FQPTJUPSZ3BEJT 3FQPTJUPSZɺɺɺɺ
λεΫొΫϥε $SFBUF5BTL6TF$BTF.Z4RM 3FQPTJUPSZ3BEJT 3FQPTJUPSZɺɺɺɺ*5BTL3FQPTJUPSZ *OUFSGBDF5BTL3FQPTJUPSZMySqlReposity RadisRepsotory (interface) (DI) JGذ͕ͳ͘ͳΔ ಛఆͷ%#ʹґଘ͠ͳ͍
DI( )-- ( mock )- ( )- interface