์˜์กด์„ฑ

Development/Android

์˜์กด์„ฑ ์ฃผ์ž…์˜ Koin๐Ÿช™ ๋‘ ๋‹ข์„ - 2

์ด๋ฒˆ์—” ์‹ค์ œ๋กœ ํ”„๋กœ๊ทธ๋žจ์— ์˜์กด์„ฑ ์ฃผ์ž…(DI)๋ฅผ ์ ์šฉ์‹œ์ผœ๋ณด๋ฉด์„œ ์‚ฝ์งˆ์˜ ์—ฐ์†์—์„œ ๋Š๊ผˆ๋˜ ์ ๊ณผ ํ•„์š”ํ•œ ๋ถ€๋ถ„์„ ์ž‘์„ฑํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. 1. Fragment๋ผ๋ฆฌ ViewModel์„ ๊ณต์œ ํ•˜๊ณ  ์‹ถ์„ ๋•Œ! class JoinEntrepreneurFragment: Fragment() { ... private val viewModel: JoinViewModel by sharedViewModel() โ€‹ ... } โ€‹ class JoinMainFragment : SoftKeyboardImplementFragment() { ... private val viewModel: JoinViewModel by sharedViewModel() โ€‹ ... } ์œ„์™€ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ sharedViewModel() ๋ฅผ ์ ์–ด์ค€๋‹ค๋ฉด Fragment๊ฐ„ ..

Development/Android

์˜์กด์„ฑ ์ฃผ์ž…์˜ Koin๐Ÿช™ ํ•œ ๋‹ข์„ - 1

์˜์กด์„ฑ ์ฃผ์ž…์ด๋ผ.. ๋„ˆ๋ฌด๋‚˜๋„ ์ต์ˆ™ํ•˜์ง€ ์•Š์€ ๋ฌธ์žฅ์ด๋‹ค. ๋‚จ์—๊ฒŒ ์˜์กดํ•˜์ง€๋ง๊ณ  ์ฃผ์ฒด์ ์œผ๋กœ ์‚ด์ž ๋ผ๋Š” ๋ง์„ ์‚ฌ์šฉํ•  ๋•Œ๋งŒ ์ผ๋˜ ๋‹จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋‹ˆ ์–ด์ƒ‰ํ•˜๊ณ  ๋‹จ๋ฒˆ์— ์ดํ•ด๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค. ์˜์กด์„ฑ ์ฃผ์ž…(์˜์กด๊ด€๊ณ„ ์ฃผ์ž…)! Dependency Injection(DI) ๋””ํŽœ๋˜์‹œ ์ธ์ ์…˜, ์˜์กด์„ฑ์ฃผ์ž…์— ๋Œ€ํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๊ณ  ์‹ถ์€๋ฐ ๋ญ๋ผํ•ด์•ผ๋ ์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค. → ํ‘œ์ค€์„ ์ •์˜ ํ•  ์ˆ˜ ์žˆ๊ณ , ์ •์˜๋œ ํ‘œ์ค€์„ ๋ฐ”ํƒ•์œผ๋กœ ๊ฐ™์€ ์„ค๊ณ„๋ฅผ ํ•˜๊ฒŒ ํ•˜์—ฌ์ค๋‹ˆ๋‹ค.(์—ญ์‹œ๋‚˜ ํ•œ ๋ฒˆ์— ์ดํ•ด๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค.) ์ข€ ๋” ๊ฐ€๊น๊ฒŒ ์ •์˜ํ•œ๋‹ค๋ฉด, ”์˜์กด๋Œ€์ƒ B๊ฐ€ ๋ณ€ํ•˜๋ฉด, ๊ทธ๊ฒƒ์ด A์— ์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค .” - ์ด์ผ๋ฏผ, ํ† ๋น„์˜ ์Šคํ”„๋ง 3.1, ์—์ด์ฝ˜(2012), p113 B๊ฐ€ ๋ณ€๊ฒฝ๋˜๊ฑฐ๋‚˜ ํ˜•์‹์ด ๋ฐ”๋€Œ๋ฉด A์— ์˜ํ–ฅ์ด ๊ฐ„๋‹ค. (์‚ฌ์ง„ : Jacob) ๐Ÿฅ‹ ํ’ˆ์ƒˆ๋ฅผ ๊ฐ€๋ฅด์น˜๋Š” ํƒœ๊ถŒ๋„..

Android_DevKick
'์˜์กด์„ฑ' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก