๋ชฉ๋ก์ƒ์„ฑ์ž์ฃผ์ž… (2)

DevLog ๐Ÿ˜ถ

[Spring] IoC Container์˜ ์ƒ๋ช…์ฃผ๊ธฐ์™€ DI, ๋นˆ ์Šค์ฝ”ํ”„, ๋นˆ๊ณผ ์Šคํƒœํ‹ฑ ๋ฉ”์„œ๋“œ

๐ŸŒฑ ๋“ค์–ด๊ฐ€๊ธฐ ์ „ ์Šคํ„ฐ๋””์—์„œ ๋ฐœํ‘œ ์ž๋ฃŒ๋กœ ์ค€๋น„ํ–ˆ๋˜ ๋‚ด์šฉ์ธ๋ฐ, ๋ธ”๋กœ๊ทธ์—๋„ ์˜ฎ๊ฒจ๋‘๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์„œ ์ •๋ฆฌํ•˜๋Š” ๊ธ€ ๐Ÿ˜Š ํ”„๋กค๋กœ๊ทธ ๋กœ๋“œ๋งต์˜ ํ‚ค์›Œ๋“œ ์œ„์ฃผ๋กœ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค! ๐ŸŒฑ DI (์˜์กด๊ด€๊ณ„ ์ฃผ์ž…) โœ”๏ธ ์˜์กดํ•œ๋‹ค? A๊ฐ€ B๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , B๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉด A์— ์˜ํ–ฅ์„ ๋ผ์น˜๋Š” ๊ด€๊ณ„. ์˜์กด๊ด€๊ณ„ ์ฃผ์ž…์€ ๋‹ค์Œ ์„ธ ๊ฐ€์ง€ ์กฐ๊ฑด์„ ์ถฉ์กฑํ•˜๋Š” ์ž‘์—…์„ ์˜๋ฏธํ•œ๋‹ค. - ํด๋ž˜์Šค ๋ชจ๋ธ์ด๋‚˜ ์ฝ”๋“œ์—๋Š” ๋Ÿฐํƒ€์ž„ ์‹œ์ ์˜ ์˜์กด๊ด€๊ณ„๊ฐ€ ๋“œ๋Ÿฌ๋‚˜์ง€ ์•Š๋„๋ก, ์ธํ„ฐํŽ˜์ด์Šค๋งŒ ์˜์กดํ•ด์•ผ ํ•œ๋‹ค. - ๋Ÿฐํƒ€์ž„ ์‹œ์ ์˜ ์˜์กด๊ด€๊ณ„๋Š” ์ปจํ…Œ์ด๋„ˆ๋‚˜ ํŒฉํ„ฐ๋ฆฌ์™€ ๊ฐ™์€ ์ œ 3์˜ ์กด์žฌ (ex. IoC container)๊ฐ€ ๊ฒฐ์ •ํ•œ๋‹ค. - ์˜์กด๊ด€๊ณ„๋Š” ์‚ฌ์šฉํ•  ์˜ค๋ธŒ์ ํŠธ์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ์™ธ๋ถ€์—์„œ ์ œ๊ณตํ•ด์คŒ์œผ๋กœ์„œ ๋งŒ๋“ค์–ด์ง„๋‹ค. โœ”๏ธ DI๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฌด์—‡์ด ์ข‹์€๊ฐ€? - ๊ฐ์ฒด๊ฐ„์˜ ๊ฒฐํ•ฉ๋„ ๊ฐ์†Œ → ์žฌ์‚ฌ์šฉ์„ฑ, ์œ ์ง€๋ณด..

Back-end/Spring 2023. 5. 7. 18:19
[Spring] ์Šคํ”„๋ง๊ณผ ๊ฐ์ฒด์ง€ํ–ฅ์˜ ์ƒ๊ด€๊ด€๊ณ„ - DI๋ž€ ๋ฌด์—‡์ผ๊นŒ?

๋ ˆ๋ฒจ 2 ์ˆ˜์—… ์‹œ๊ฐ„์— ์˜์กด์„ฑ ์ฃผ์ž… ๊ด€๋ จ ๋‚ด์šฉ์„ ๋“ค์œผ๋ฉด์„œ ์กฐ๊ธˆ ์ •๋ฆฌ๋ฅผ ํ•ด๋ณด๊ณ  ์‹ถ์–ด์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ธ€์„ ์ž‘์„ฑํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. ๊ทธ๋™์•ˆ ์Šคํ”„๋ง์€ ๊ฐ์ฒด์ง€ํ–ฅ์ ์œผ๋กœ ์ž‘์„ฑํ•˜๊ธฐ ์ข‹์€ ํ”„๋ ˆ์ž„์›Œํฌ๋ผ๊ณ  ๋ง์€ ๋“ค์–ด๋ดค์ง€๋งŒ, ์ •ํ™•ํ•˜๊ฒŒ ์™œ์ธ์ง€๋Š” ์ดํ•ดํ•œ ์ ์ด ์—†์—ˆ๋‹ค. ์ •๋ฆฌ๋ฅผ ํ†ตํ•ด์„œ ์กฐ๊ธˆ ๋” ๋จธ๋ฆฌ์—... ๋‹ด์•„๋‘๊ณ ์ž ํ•œ๋‹ค! โœ”๏ธ ๊ฐ์ฒด์ง€ํ–ฅ์  ์„ค๊ณ„๊ณผ ๋””์ž์ธ ํŒจํ„ด ์šฐ์„ , ๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„ ์›์น™์œผ๋กœ ๋งŽ์ด๋“ค ์–ธ๊ธ‰ํ•˜๋Š” SOLID์— ๋Œ€ํ•ด์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ƒ๊ฐํ•ด๋ณด์ž. - SRP (๋‹จ์ผ ์ฑ…์ž„ ์›์น™): ์–ด๋–ค ํด๋ž˜์Šค๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ์ด์œ ๋Š” ์˜ค์ง ํ•˜๋‚˜๋ฟ์ด์–ด์•ผ ํ•œ๋‹ค. - OCP (๊ฐœ๋ฐฉ ํ์‡„ ์›์น™): ์ž์‹ ์˜ ํ™•์žฅ์—๋Š” ์—ด๋ ค์žˆ๊ณ , ์ฃผ๋ณ€์˜ ๋ณ€ํ™”์—๋Š” ๋‹ซํ˜€์žˆ์–ด์•ผ ํ•œ๋‹ค. - LSP (๋ฆฌ์Šค์ฝ”ํ”„ ์น˜ํ™˜ ์›์น™): ์„œ๋ธŒ ํƒ€์ž…์€ ํ•ญ์ƒ ์ž์‹ ์˜ ๊ธฐ๋ฐ˜ ํƒ€์ž…์œผ๋กœ ๊ต์ฒดํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. - ISP (์ธํ„ฐํŽ˜์ด์Šค..

Back-end/Spring 2023. 4. 18. 17:38