๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์Šคํ”„๋ง Spring/๐Ÿงถ ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ Spring

service์™€ serviceImpl์— ๋Œ€ํ•ด์„œ...

by Meteora_ 2021. 6. 22.
728x90

MVC ํŒจํ„ด์—์„œ Service Model ์˜ ์—ญํ• 

MVC ํŒจํ„ด์˜ ํ•ต์‹ฌ์€ View๋Š” ์ž์‹ ์ด ์š”์ฒญํ•  Controller๋งŒ ์•Œ๊ณ ์žˆ์œผ๋ฉด ๋˜๊ณ ,

Controller๋Š” ํ™”๋ฉด์—์„œ ๋„˜์–ด์˜ค๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋“ค์„ ์ด์šฉํ•ด Service ๊ฐ์ฒด๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

Service ๋Š” ๋ถˆํ•„์š”ํ•˜๊ฒŒ Http ํ†ต์‹ ์„ ์œ„ํ•œ HttpServlet์„ ์ƒ์† ๋ฐ›์„ ํ•„์š”๋„ ์—†๋Š” ์ˆœ์ˆ˜ํ•œ ์ž๋ฐ” ๊ฐ์ฒด๋กœ

๊ตฌ์„ฑ๋œ๋‹ค(๊ทธ๋ ‡๊ธฐ์— Service ์— request๋‚˜ response์™€ ๊ฐ™์€ ๊ฐ์ฒด๋ฅผ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ฐ›์•„์„  ์•ˆ๋œ๋‹ค.

๊ทธ๊ฑธ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š” ์ž‘์—…์€ ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ํ•ด์•ผํ•œ๋‹ค.).

๊ทธ๋ ‡๊ธฐ์— ์ž์‹ ์„ ์–ด๋–ค ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ํ˜ธ์ถœํ•˜๋“  ์ƒ๊ด€์—†์ด ํ•„์š”ํ•œ ๋งค๊ฐœ๋ณ€์ˆ˜๋งŒ

์ค€๋‹ค๋ฉด ์ž์‹ ์˜ ๋น„์ฆˆ๋‹ˆ์Šค๋กœ์ง์„ ์ฒ˜๋ฆฌํ•˜๊ฒŒ๋œ๋‹ค.

์ฆ‰ ๋ชจ๋“ˆํ™”๋ฅผ ํ†ตํ•ด ์–ด๋””์„œ๋“  ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•œ ํด๋ž˜์ŠคํŒŒ์ผ์ด๋ผ๋Š” ๋œป์ด๋‹ค. ๋‹จ์ˆœ Web ๊ธฐ๋ฐ˜์ด ์•„๋‹ˆ๋ผ ์ถ”ํ›„ native app ์œผ๋กœ view๋‹จ์ด ๋ณ€๊ฒฝ๋˜๋”๋ผ๋„ Service๋Š” view์— ์ข…์†์ ์ธ ์ฝ”๋“œ๊ฐ€ ์—†๊ธฐ๋•Œ๋ฌธ์— ๊ทธ๋Œ€๋กœ ์žฌ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ถ”๊ฐ€์ ์ธ ์š”์ฒญ์‚ฌํ•ญ์ด ๋“ค์–ด์˜ค๋ฉด ๊ธฐ์กด ์†Œ์Šค๋ฅผ ์ˆ˜์ •ํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ๊ธฐ์กด service ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ๋‹ค๋ฅธ ํด๋ž˜์Šค๋ฅผ ๊ตฌํ˜„ํ•ด ๊ทธ ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ๋” ํ•˜๋Š”๊ฒƒ์ด๋‹ค. OCP์— ์ž…๊ฐํ•œ ๋ณ€ํ™”์—๋Š” ๋‹ซํ˜€์žˆ๊ณ  ํ™•์žฅ์—๋Š” ์—ด๋ ค์žˆ๋Š” ๊ตฌ์กฐ๋กœ ๋งŒ๋“ค์–ด์•ผํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

๋Œ“๊ธ€