๐๐ป ์คํ๋ง ํ๋ ์์ํฌ ํน์ง
๐ IoC / DI : ์ ์ด์ ์ญ์ / ์์กด์ฑ ์ฃผ์
โช๏ธ IoC : ์ ์ด์ ์ญ์
: ํ๋ฆ์ ์ฃผ๋๊ถ์ด ๋ฐ๋ ๊ฒ
โช๏ธ DI : ์์กด์ฑ ์ฃผ์
: ๊ฐ์ฒด๋ฅผ ์ง์ ์์ฑํ๋ ๊ฒ์ด ์๋ ์์ฑ์ ๋ฑ์ ํตํด ์์ฑ
: ํด๋์ค๋ค ๊ฐ ๊ฐํ ๊ฒฐํฉ์ ๋์จํ ๊ฒฐํฉ์ผ๋ก ๋ฐ๊พธ์ด ์ค
๐ก ์์กด์ฑ ์ฃผ์ ์ด ํ์ํ ์ด์
: ํ์ฌ ํด๋์ค ๋ด๋ถ์ ์ธ๋ถ ํด๋์ค ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋ new ํค์๋์ ์ฌ์ฉ ์ฌ๋ถ ๊ฒฐ์
→ ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋ ๋ด๋ถ์ ์ง์ ์ ์ผ๋ก new๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ์ฒด์งํฅ ์ค๊ณ ๊ด์ ์์ ๋ฌธ์ ๋ฐ์ ๊ฐ๋ฅ
โธ Stub์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ
๐ก Stub ? ๋ฉ์๋๊ฐ ํธ์ถ๋๋ฉด ๋ฏธ๋ฆฌ ์ค๋น๋ ๋ฐ์ดํฐ ์๋ต
- ๊ณ ์ ๋ ๋ฐ์ดํฐ๋ก ํธ์ถ ์ ๋์ผํ ๋ฐ์ดํฐ๋ฅผ ๋ฆฌํด
= ๋ฉฑ๋ฑ์ฑ์ ๊ฐ์ง๋ค๊ณ ํํ !
๐ก ๋ฉฑ๋ฑ์ฑ ? ๋ช๋ฒ์ ํธ์ถํด๋ ๋์ผํ ๋ฐ์ดํฐ๋ฅผ ๋ฆฌํดํ๋ ๊ฒ
# ๋ง์ฝ ํ ์คํธ๋ฅผ ํด๋ณด๊ธฐ ์ํด ์คํ ์ ์ฌ์ฉํ๋ค๋ฉด ?
: ์๋น ํด๋์ค๋ฅผ ์๋ง (์คํ ) ํด๋์ค๋ก ๋ณ๊ฒฝํ๋ค๋ฉด ๋์ฉ๋์ ๋ณ๊ฒฝ์ด ํ์ํจ
→ ์ฆ, new ํค์๋๋ฅผ ์ฌ์ฉํด์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ฒ ๋๋ฉด ์ฐธ์กฐํ ํด๋์ค๊ฐ ๋ฐ๋๊ฒ ๋ ๊ฒฝ์ฐ ํด๋์ค๋ฅผ ๋ชจ๋ ์์ ํด์ผ ํจ
new ํค์๋๋ฅผ ์ฌ์ฉํด์ ์์กด ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค๋ ๊ฒ์ ๊ฒฐ๊ตญ ํด๋์ค ๊ฐ ๊ฐํ๊ฒ ๊ฒฐํฉ๋๋ค๊ณ ๋ณผ ์ ์์
: ์์กด์ฑ ์ฃผ์ ์ ํ๋๋ผ๋ ํด๋์ค ๊ฐ ๊ฐํ ๊ฒฐํฉ์ ํผํ๋ ๊ฒ์ด ์ข์ โก๏ธ ๋์จํ ๊ฒฐํฉ์ด ํ์ํจ
'Study > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[TIL] Spring :PSA (0) | 2022.06.14 |
---|---|
[TIL] Spring :AOP (0) | 2022.06.14 |
[TIL] Spring : POJO (0) | 2022.06.14 |
[TIL] ํ๋ ์์ํฌ : Spring (0) | 2022.06.13 |
[TIL] ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๊ทํ (0) | 2022.06.10 |