DIP์ ๋ณธ์งDIP ์์น์ด๋ ๊ฐ์ฒด์์ ์ด๋ค Class๋ฅผ ์ฐธ์กฐํด์ ์ฌ์ฉํด์ผํ๋ ์ํฉ์ด ์๊ธด๋ค๋ฉด, ๊ทธ Class๋ฅผ ์ง์ ์ฐธ์กฐํ๋ ๊ฒ์ด ์๋๋ผ ๊ทธ ๋์์ ์์ ์์(์ถ์ ํด๋์ค or ์ธํฐํ์ด์ค)๋ก ์ฐธ์กฐํ๋ผ๋ ์์น์ด๋ค.DIP๋ฅผ ๋จ์ํ "์ธํฐํ์ด์ค๋ฅผ ์ฐ๋ฉด ๋๋ค"๋ก ์ดํดํ๋ฉด ์ค๋ฌด์์ ํจํค์ง ๊ตฌ์กฐ๋ฅผ ์๋ชป ์ค๊ณํ๊ฒ ๋๋ค. DDD์ ๋ ์ด์ด ์ํคํ ์ฒ์ ํจ๊ป ์์กด์ฑ์ ๋ฐฉํฅ์ ์ ์ดํ๋ ์์น์ผ๋ก ์ดํดํด์ผ ํ๋ค.์ฆ, ๊ณ ์ฐจ์ ๋ชจ๋(๋น์ฆ๋์ค ๋ก์ง)์ด ์ ์ฐจ์ ๋ชจ๋(๊ตฌํ ์ธ๋ถ์ฌํญ)์ ์์กดํ๋ฉด ์๋๋ค๋ ๊ฒ์ด๋ค.์ธํฐํ์ด์ค์ ์์ ๊ถ์ด ์ค์ํ๋ค. ์ธํฐํ์ด์ค๋ "์ฌ์ฉํ๋ ์ชฝ"์ด ์์ ํ๋ค์์กด์ฑ ๋ฐฉํฅ์ ํญ์ ์์ชฝ(๋๋ฉ์ธ)์ ํฅํ๋ค๊ตฌํ์ฒด๊ฐ ๋ฐ๋์ด๋ ๋น์ฆ๋์ค ๋ก์ง์ ์ํฅ๋ฐ์ง ์๋๋ค์์ ๋ณด๋ค ๋ณํ๊ธฐ ์ฌ์ด ๊ฒ์ ์์กดํ๋ ๊ฒ์ ์ถ์ํ๋ ์ธํฐํ์ด์ค๋ ์์ ํด๋..
2026.01.03๋ฐ๊ฐ์ต๋๋ค. JAY์ ๋๋ค! ๐ฉโ๐ป
ํ์คํ ์์ญ์์ ํ์ ์ ๊ฐ์น๋ฅผ ๊ตฌํํ๋ ๊ฐ๋ฐ์๊ฐ ๋๊ธฐ ์ํ ๋ ธ๋ ฅ์ ์ด์ด๊ฐ๊ณ ์ ์ด๊ณณ JAYโจ๏ธCODE ์ ์ฑ์ฅ์ ๊ธฐ์ฌํ ๋๊ตฌ๋ค์ ๊ธฐ๋กํ๊ณ ์์ต๋๋ค.
Total4
-
Spring ์์กด ์ญ์ ์์น (Dependency Inversion Principle)์ด๋?
-
์ข์ ๊ฐ์ฒด ์งํฅ ์ค๊ณ์ 5๊ฐ์ง ์์น (SOLID ์์น)
ํด๋ฆฐ์ฝ๋๋ก ์ ๋ช ํ ๋ก๋ฒํธ ๋งํด์ด ์ ์ํ ์ข์ ๊ฐ์ฒด ์งํฅ ์ค๊ณ์ 5๊ฐ์ง ์์น(SOLID)SRP: ๋จ์ผ ์ฑ ์ ์์น(single responsibility principle)OCP: ๊ฐ๋ฐฉ-ํ์ ์์น (Open/closed principle)LSP: ๋ฆฌ์ค์ฝํ ์นํ ์์น (Liskov substitution principle)ISP: ์ธํฐํ์ด์ค ๋ถ๋ฆฌ ์์น (Interface segregation principle)DIP: ์์กด๊ด๊ณ ์ญ์ ์์น (Dependency inversion principle) SRP ๋จ์ผ ์ฑ ์ ์์นSingle responsibility principleํ ํด๋์ค๋ ํ๋์ ์ฑ ์๋ง ๊ฐ์ ธ์ผ ํ๋ค.ํ๋์ ์ฑ ์์ด๋ผ๋ ๊ฒ์ ๋ชจํธํ๋ค.ํด ์ ์๊ณ , ์์ ์ ์๋ค.๋ฌธ๋งฅ๊ณผ ์ํฉ์ ๋ฐ๋ผ ๋ค๋ฅด๋ค.์ค์ํ ๊ธฐ์ค..
2025.12.10 -
์ข์ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ด๋?
์ข์ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ด๋?๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ์ปดํจํฐ ํ๋ก๊ทธ๋จ์ ๋ช ๋ น์ด์ ๋ชฉ๋ก์ผ๋ก ๋ณด๋ ์๊ฐ์์ ๋ฒ์ด๋ ์ฌ๋ฌ๊ฐ์ ๋ ๋ฆฝ๋ ๋จ์, ์ฆ ๊ฐ์ฒด๋ค์ ๋ชจ์์ผ๋ก ํ์ ํ๊ณ ์ ํ๋ ๊ฒ์ด๋ค. ๊ฐ๊ฐ์ ๊ฐ์ฒด๋ ๋ฉ์์ง๋ฅผ ์ฃผ๊ณ ๋ฐ๊ณ , ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ค. (ํ๋ ฅ)๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ํ๋ก๊ทธ๋จ์ ์ ์ฐํ๊ณ ๋ณ๊ฒฝ์ด ์ฉ์ดํ๊ฒ ๋ง๋ค๊ธฐ ๋๋ฌธ์ ๋๊ท๋ชจ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ๋ง์ด ์ฌ์ฉ๋๋ค. ์ ์ฐํ๊ณ , ๋ณ๊ฒฝ์ด ์ฉ์ดํ๋ค๋ ๊ฒ์?์ปดํฌ๋ํธ๋ฅผ ์ฝ๊ณ ์ ์ฐํ๊ฒ ๋ณ๊ฒฝํ๋ฉด์ ๊ฐ๋ฐํ ์ ์๋ ๋ฐฉ๋ฒ๋ ๊ณ ๋ธ๋ญ ์กฐ๋ฆฝํ๋ฏ์ดํค๋ณด๋, ๋ง์ฐ์ค ๊ฐ์ ๋ผ์ฐ๋ฏ์ด์ปดํจํฐ ๋ถํ ๊ฐ์ ๋ผ์ฐ๋ฏ์ด ๋คํ์ฑ(Polymorphism) ์ด๋?์ด์ ์ ๊ฐ ์ด์ ๋ฉดํ๋ง ์๋ค๋ฉด ์ด๋ ์๋์ฐจ๋ ์ด์ ํ ์ ์๋ ๊ฐ๋ ๋ก๋ฏธ์ค ๋ฐฐ์ญ์ ๊ฐ์ง ๋ฐฐ์ฐ๋ ์ค๋ฆฌ์ฃ ๋ฐฐ์ญ์ ๊ฐ์ง ๋ฐฐ์ฐ๊ฐ ๋ฐ๋์ด..
2025.12.10 -
์คํ๋ง์ด๋?
์คํ๋ง์ ์ ์์คํ๋ง์ด๋?์คํ๋ง์ด๋ผ๋ ๋จ์ด๋ ๋ฌธ๋งฅ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ฌ์ฉ๋๋ค.์คํ๋ง DI ์ปจํ ์ด๋ ๊ธฐ์ ์คํ๋ง ํ๋ ์์ํฌ์คํ๋ง ๋ถํธ, ์คํ๋ง ํ๋ ์์ํฌ ๋ฑ์ ๋ชจ๋ ํฌํจํ ์คํ๋ง ์ํ๊ณ ์คํ๋ง์ ํต์ฌ ๊ฐ๋ ์? ์คํ๋ง์ ๋จ์ํ๊ฒ ์น ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค๊ณ , DB ์ ๊ทผ ํธ๋ฆฌํ๊ฒ ํด์ฃผ๋ ๊ธฐ์ ์ธ๊ฐ?์ ์์ ๋ถ ํ๋ ์์ํฌ์ธ๊ฐ? ์น ์๋ฒ๋ ์๋์ผ๋ก ๋์์ฃผ๋ ์ญํ ๋ง ํ ๊น?์คํ๋ง์ ์๋ฐ ์ธ์ด ๊ธฐ๋ฐ์ ํ๋ ์์ํฌ์ด๋ค.์๋ฐ ์ธ์ด์ ๊ฐ์ฅ ํฐ ํน์ง: ๊ฐ์ฒด ์งํฅ ์ธ์ด์คํ๋ง์ ๊ฐ์ฒด ์งํฅ ์ธ์ด๊ฐ ๊ฐ์ง ๊ฐ๋ ฅํ ํน์ง์ ์ด๋ ค๋ด๋ ํ๋ ์์ํฌ์ด๋ค.์คํ๋ง์ ์ข์ ๊ฐ์ฒด ์งํฅ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ์ ์๊ฒ ๋์์ฃผ๋ ํ๋ ์์ํฌ์ด๋ค. ์คํ๋ง ์ํ๊ณ์คํ๋ง ํ๋ ์์ํฌํต์ฌ ๊ธฐ์ : ์คํ๋ง DI ์ปจํ ์ด๋, AOP, ์ด๋ฒคํธ, ๊ธฐํ์น ๊ธฐ์ : ์คํ๋ง MVC, ์คํ๋ง WebFlux..
2025.12.10