DI
-
DI & SwinjectiOS 2021. 8. 3. 22:07
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ Swinject์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค๐ง๐ป๐ป Swinject? Swinject๋ ์์กด์ฑ ์ฃผ์ ํ๋ ์์ํฌ์ ๋๋ค. ํ๋ง๋๋ก ์ ์ํ๊ธฐ๊ฐ ์ฐธ ์ด๋ ค์ด๋ฐ ๊ทธ๋ผ ๋จผ์ ์์กด์ฑ ์ฃผ์ ์ด ์ด๋ค๊ฒ์ธ์ง ์์๋ด์ผ๊ฒ ์ฃ ? ์์กด์ฑ ์ฃผ์ ? Dependency Injection์ด๋ผ๊ณ ๋ ๋ถ๋ฆฌ๋ฉฐ ๊ฐ์ฒด์งํฅ์ ์ค๊ณํ๊ณ ์ฝ๋ฉํ ๋ ์ค์ํ ๋ถ๋ถ์ ๋๋ค. ๋ณต์กํ ๊ฐ๋ฐ์ ํ๋ฉด ํ ์๋ก ์ฝ๋๊ฐ ์์กด์ฑ์ด ์๊ธธ์๊ฐ ์์ต๋๋ค. ์๋ฅผ๋ค์ด ๊ฐ๋จํ ์๋์ ๊ฐ์ ์ฝ๋๊ฐ ์๋ค๊ณ ๊ฐ์ ํด๋ด ์๋ค. class Person { var action = Action() func startWalk() { self.action.walk() } } ์ด๋ด๋ startWalk ํจ์ ํธ์ถ์ ํ๊ธฐ ์ํด์๋ Action ํด๋์ค๊ฐ ์ ์๋์ผํฉ๋๋ค. ์ด๋ด๊ฒฝ์ฐ A..