๐ŸŸฅLayerd Architecture

https://velog.io/@gmtmoney2357/%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4-%EC%95%84%ED%82%A4%ED%85%8D%EC%B2%98-%EB%A0%88%EC%9D%B4%EC%96%B4%EB%93%9C-%EC%95%84%ED%82%A4%ED%85%8D%EC%B2%98Layered-archi

๋ ˆ์ด์–ด ๋ถ„๋ฆฌ

  1. ์ผ๋ฐ˜์ ์œผ๋กœ 4๊ณ„์ธต์œผ๋กœ ๋ ˆ์ด์–ด๋ฅผ ๊ตฌ๋ถ„ํ•œ๋‹ค. ํ”„๋ ˆ์  ํ…Œ์ด์…˜,๋น„์ง€๋‹ˆ์Šค,ํผ์‹œ์Šคํ„ด์Šค,๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ ˆ์ด์–ด ๋กœ ๋‚˜๋ˆˆ๋‹ค.

  2. ๊ฐ ๋ ˆ์ด์–ด๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ ˆ์ด์–ด ๋ณ„๋กœ ์ฑ…์ž„์ ธ์•ผํ•  ๋ถ€๋ถ„์„ ์ฑ…์ž„์ง€๊ณ  ์ˆ˜ํ–‰ํ•œ๋‹ค.

๊ด€์‹ฌ์‚ฌ ๋ถ„๋ฆฌ

  1. ๋น„์ง€๋‹ˆ์Šค ๋ ˆ์ด์–ด๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ๋ฐ›์•„์•ผํ•˜๋ฉฐ, ์–ด๋–ป๊ฒŒ ๋ณด์—ฌ์ค„์ง€ ๊ด€์—ฌ ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค.

  2. ๋”ฐ๋ผ์„œ ๊ธฐ์ˆ ์  ๋ถ€๋ถ„์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ , ๋ณ€ํ™”์— ๋ฐ˜์‘ํ•˜๋Š” ๋Šฅ๋ ฅ(๋ฏผ์ฒฉ์„ฑ)์€ ๋–จ์–ด์ง„๋‹ค๋Š” ๋‹จ์ ์ด์žˆ๋‹ค.

๋„๋ฉ”์ธ ๋ณ€๊ฒฝ์˜ ์–ด๋ ค์›€

  1. ๋„๋ฉ”์ธ ๋ถ„ํ•  ์ดํ‚คํ…์ฒ˜์™€ ๋ฐ˜๋Œ€๋กœ ๊ธฐ์ˆ  ์—ญํ• ์— ๋”ฐ๋ผ ๋ฌถ๋Š”๋‹ค.

  2. ์ฆ‰, ์–ด๋–ค ๋„๋ฉ”์ธ์€ ๋ชจ๋“  ๋ ˆ์ด์–ด์— ๋ถ„์‚ฐ๋˜๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ž˜์„œ ์ด ๋„๋ฉ”์ธ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์€ ์‰ฝ์ง€ ์•Š๋‹ค.

  3. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ณ ๊ฐ ๋„๋ฉ”์ธ์„ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ๋ชจ๋“  ๋ ˆ์ด์–ด์— ๊ด€๋ จ๋œ ๋‚ด์šฉ์„ ๋ชจ๋‘ ๋ณ€๊ฒฝํ•ด์•ผํ•œ๋‹ค.

  4. ์ด๋Ÿฐ ์ด์œ ๋กœ ๋ ˆ์ด์–ด๋“œ ์•„ํ‚คํ…์ฒ˜ ์Šคํƒ€์ผ์€ DDD( ๋„๋ฉ”์ธ ์ฃผ๋„ ์„ค๊ณ„ ) ๋ฐฉ์‹๊ณผ๋Š” ์ƒ๋ฐ˜๋œ๋‹ค.

์‹ฑํฌํ™€ ์•ˆํ‹ฐํŒจํ„ด

  1. ์š”์ฒญ์ด ํ•œ ๋ ˆ์ด์–ด์—์„œ ๋‹ค๋ฅธ ๋ ˆ์ด์–ด๋กœ ์ด๋™ ํ•  ๋•Œ ๊ฐ ๋ ˆ์ด์–ด๊ฐ€ ์•„๋ฌด ๋น„์ง€๋‹ˆ์Šค ๋กœ์ง๋„ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š๊ณ  ๊ทธ๋ƒฅ ํ†ต๊ณผํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.

  2. ์ด๋Ÿฌํ•œ ํ๋ฆ„์€ ๋ถˆ ํ•„์š”ํ•œ ๊ฐ์ฒด ์ดˆ๊ธฐํ™” ๋ฐ ์ฒ˜๋ฆฌ๋ฅผ ๋นˆ๋ฒˆํ•˜๊ฒŒ ์œ ๋ฐœ์‹œ์ผœ ์“ธ๋ฐ ์—†๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์†Œ๋ชจํ•˜์—ฌ ์„ฑ๋Šฅ์—๋„ ๋ถ€์ •์ ์ธ ์˜ํ–ฅ์„ ์ค€๋‹ค.

  3. ๋ฌผ๋ก  ์‹ฑํฌํ™€ ์•ˆํ‹ฐํŒจํ„ด์ด ์—†์„ ์ˆœ ์—†๋‹ค. ์ „์ฒด ์š”์ฒญ์˜ 20%๊ฐ€ ์‹ฑํฌํ™€์ธ ์ •๋„๋ฉด ๊ทธ๋Ÿฐ๋Œ€๋กœ ๊ดœ์ฐฎ์€ ์ˆ˜์ค€์ด๋‹ค.

  4. Controller์—์„œ ํ”ํžˆ ๊ณง๋ฐ”๋กœ Service ๋กœ์ง์œผ๋กœ ์ฒ˜๋ฆฌ๋ฅผ ๋งก๊ฒจ๋ฒ„๋ฆฌ๋Š”๋ฐ ์ด์— ํ•ด๋‹นํ•˜๋Š” ๊ฒƒ์ธ๊ฐ€? Validation ์ฒดํฌ๋‚˜ Http Methods๋ฅผ ๊ฒ€์ฆํ•˜๋Š” ๊ฒƒ ๋งŒ์œผ๋กœ๋„ ์ œ ์—ญํ• ์„ ํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ ์ธ๊ฐ€?

์–ด๋””์— ์“ฐ๋Š”๊ฒŒ ์ข‹์€๊ฐ€?

  1. ์ž‘๊ณ  ๋‹จ์ˆœํ•œ ์•ฑ์ด๋‚˜ ์›น์‚ฌ์ดํŠธ์— ์•Œ๋งž๋Š” ์•„ํ‚คํ…์ฒ˜์ด๋‹ค. ํŠนํžˆ ์ฒ˜์Œ ๊ตฌ์ถ•์„ ํ•  ๋•Œ, ์ถœ๋ฐœ์ ์œผ๋กœ ๊ดœ์ฐฎ๋‹ค

  2. ๊ทธ๋ฆฌ ๋ณต์žกํ•˜์ง€ ์•Š์œผ๋ฉฐ ์–ด์ฉŒ๋ฉด ๋น„์šฉ๋„ ๊ฐ€์žฅ ์ €๋ ดํ•œ ์•„ํ‚คํ…์ฒ˜ ์Šคํƒ€์ผ์ด๋ฏ€๋กœ ์†Œ๊ทœ๋ชจ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ ํ•ฉํ•˜๋‹ค.

  3. ๊ทœ๋ชจ๊ฐ€ ์ปค์งˆ์ˆ˜๋ก ์œ ์ง€ ๋ณด์ˆ˜์„ฑ , ๋ฏผ์ฒฉ์„ฑ , ์‹œํ—˜์„ฑ, ๋ฐฐํฌ์„ฑ ๊ฐ™์€ ํŠน์„ฑ์ด ์ ์  ๋‚˜๋น ์ง„๋‹ค.

Last updated