Home > CS > 2024 > ๐Ÿ’พ [CS] ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™์—์„œ์˜ ์ปดํฌ๋„ŒํŠธ

๐Ÿ’พ [CS] ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™์—์„œ์˜ ์ปดํฌ๋„ŒํŠธ
CS

๐Ÿ’พ [CS] ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™์—์„œ์˜ ์ปดํฌ๋„ŒํŠธ.

  • ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™์—์„œ์˜ ์ปดํฌ๋„ŒํŠธ๋Š” ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๊ณ  ๋…๋ฆฝ์ ์ธ ์†Œํ”„ํŠธ์›จ์–ด ๋ชจ๋“ˆ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
  • ์ด ๋ชจ๋“ˆ์€ ๋ช…ํ™•ํ•˜๊ฒŒ ์ •์˜๋œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ์ปดํฌ๋„ŒํŠธ๋‚˜ ์‹œ์Šคํ…œ๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•˜๋ฉฐ, ํŠน์ • ๊ธฐ๋Šฅ์ด๋‚˜ ์ฑ…์ž„์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • ์ปดํฌ๋„ŒํŠธ๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์˜ ๋” ํฐ ๋‹จ์œ„ ๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ์  ๋‹จ์œ„๋กœ ๋ณผ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1๏ธโƒฃ ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™์—์„œ์˜ ์ปดํฌ๋„ŒํŠธ์˜ ์ฃผ์š” ํŠน์„ฑ.

1. ๋…๋ฆฝ์„ฑ.

  • ์ปดํฌ๋„ŒํŠธ๋Š” ๋…๋ฆฝ์ ์œผ๋กœ ๊ฐœ๋ฐœ๋˜๊ณ , ๋ฐฐํฌ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋…๋ฆฝ์ ์œผ๋กœ ๊ฐœ๋ฐœ๋œ ์ปดํฌ๋„ŒํŠธ๋Š” ์‹œ์Šคํ…œ์˜ ๋‹ค๋ฅธ ๋ถ€๋ถ„์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๊ณ  ๋ณ€๊ฒฝ ๋˜๋Š” ๊ต์ฒด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2. ์žฌ์‚ฌ์šฉ์„ฑ.

  • ์ปดํฌ๋„ŒํŠธ๋Š” ๋‹ค์–‘ํ•œ ์‹œ์Šคํ…œ์—์„œ ์žฌ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋ฉ๋‹ˆ๋‹ค.
  • ํ•œ ๋ฒˆ ๊ฐœ๋ฐœ๋œ ์ปดํฌ๋„ŒํŠธ๋Š” ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ๋‚˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜์—ฌ ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ์„ ๋†’์ด๊ณ , ์ค‘๋ณต๋œ ๊ฐœ๋ฐœ์„ ์ค„์ž…๋‹ˆ๋‹ค.

3. ๋ช…ํ™•ํ•œ ์ธํ„ฐํŽ˜์ด์Šค.

  • ์ปดํฌ๋„ŒํŠธ๋Š” ๋ช…ํ™•ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ํ•˜๋ฉฐ, ์ด ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ์ปดํฌ๋„ŒํŠธ ๋˜๋Š” ์‹œ์Šคํ…œ๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๋‚ด๋ถ€ ๊ตฌํ˜„์€ ๊ฐ์ถฐ์ง€๊ณ , ์ปดํฌ๋„ŒํŠธ๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด์„œ๋งŒ ์‚ฌ์šฉ๋˜๋ฏ€๋กœ ์บก์Šํ™”๊ฐ€ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.

4. ๋ชจ๋“ˆ์„ฑ.

  • ์ปดํฌ๋„ŒํŠธ๋Š” ์‹œ์Šคํ…œ์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ชจ๋“ˆ ๋‹จ์œ„๋กœ์„œ, ํŠน์ •ํ•œ ๊ธฐ๋Šฅ์ด๋‚˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • ์‹œ์Šคํ…œ์˜ ๋ณต์žก์„ฑ์„ ์ค„์ด๊ณ , ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ์ปดํฌ๋„ŒํŠธ๋Š” ๋ชจ๋“ˆ ๋‹จ์œ„๋กœ ๋ถ„๋ฆฌ๋˜์–ด ์„ค๊ณ„๋ฉ๋‹ˆ๋‹ค.

5. ๋Š์Šจํ•œ ๊ฒฐํ•ฉ.

  • ์ปดํฌ๋„ŒํŠธ๋Š” ๋‹ค๋ฅธ ์ปดํฌ๋„ŒํŠธ์™€ ๋Š์Šจํ•˜๊ฒŒ ๊ฒฐํ•ฉ๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ด๋Š” ์‹œ์Šคํ…œ์˜ ์œ ์—ฐ์„ฑ์„ ๋†’์ด๋ฉฐ, ๊ฐ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋…๋ฆฝ์ ์œผ๋กœ ๊ฐœ๋ฐœ๋˜๊ณ  ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๊ฒŒํ•ฉ๋‹ˆ๋‹ค.

6. ๊ณ ์‘์ง‘์„ฑ.

  • ์ปดํฌ๋„ŒํŠธ ๋‚ด๋ถ€์ ์œผ๋กœ๋Š” ์‘์ง‘์„ฑ์ด ๋†’์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ฆ‰, ์ปดํฌ๋„ŒํŠธ ๋‚ด๋ถ€์˜ ์š”์†Œ๋“ค์€ ์„œ๋กœ ๋ฐ€์ ‘ํ•˜๊ฒŒ ๊ด€๋ จ๋œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋ฉฐ, ํ•˜๋‚˜์˜ ๋ช…ํ™•ํ•œ ์ฑ…์ž„์„ ๊ฐ€์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

2๏ธโƒฃ ์†Œํ”„ํŠธ์›จ์–ด ์ปดํฌ๋„ŒํŠธ ์˜ˆ์‹œ.

1. ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ์ปดํฌ๋„ŒํŠธ.

  • ๋ฒ„ํŠผ, ํ…์ŠคํŠธ ํ•„๋“œ, ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด์™€ ๊ฐ™์€ UI ์š”์†Œ๋Š” ์ปดํฌ๋„ŒํŠธ๋กœ ๊ฐ„์ฃผ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ด๋“ค์€ ๊ฐ์ž ๋ช…ํ™•ํ•œ ์—ญํ• ์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ๋‹ค์–‘ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์žฌ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2. ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ์ปดํฌ๋„ŒํŠธ.

  • ์˜ˆ๋ฅผ ๋“ค์–ด, ์ฃผ๋ฌธ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์—์„œ ์ฃผ๋ฌธ์„ ์ƒ์„ฑํ•˜๊ณ , ๊ฒฐ์ œํ•˜๊ณ , ์ฃผ๋ฌธ ์ƒํƒœ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ฐ๊ฐ์˜ ๊ธฐ๋Šฅ์ด ๋…๋ฆฝ์ ์ธ ์ปดํฌ๋„ŒํŠธ๋กœ ๋ถ„๋ฆฌ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฐ ์ปดํฌ๋„ŒํŠธ๋Š” ํŠน์ • ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์ฒ˜๋ฆฌํ•˜๋ฉฐ, ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์—์„œ๋„ ๋™์ผํ•œ ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•  ๋•Œ ์žฌ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3. ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ์ปดํฌ๋„ŒํŠธ(DAO).

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ๋กœ, ๋ฐ์ดํ„ฐ CRUD(Create, Read, Update, Delete) ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ชจ๋“ˆ์ž…๋‹ˆ๋‹ค.
  • DAO ์ปดํฌ๋„ŒํŠธ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ตฌ์กฐ๋‚˜ ๊ธฐ์ˆ ์ด ๋ณ€๊ฒฝ๋˜๋”๋ผ๋„, ์ธํ„ฐํŽ˜์ด์Šค๋งŒ ์œ ์ง€ํ•˜๋ฉด ๋‹ค๋ฅธ ๋ถ€๋ถ„์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๋„๋ก ์„ค๊ณ„๋ฉ๋‹ˆ๋‹ค.

3๏ธโƒฃ ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜ ๊ฐœ๋ฐœ(Component-Based Development, CBD)

  • ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜ ๊ฐœ๋ฐœ(CBD) ์€ ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์„ ์ปดํฌ๋„ŒํŠธ ๋‹จ์œ„๋กœ ์„ค๊ณ„ํ•˜๊ณ  ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐฉ๋ฒ•๋ก ์ž…๋‹ˆ๋‹ค.
  • ์ด ์ ‘๊ทผ ๋ฐฉ์‹์€ ์‹œ์Šคํ…œ์„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋…๋ฆฝ์ ์ด๊ณ  ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ปดํฌ๋„ŒํŠธ๋กœ ๋‚˜๋ˆ„์–ด ๊ฐœ๋ฐœํ•˜๋ฉฐ, ๊ฐ ์ปดํฌ๋„ŒํŠธ๋Š” ๊ฐœ๋ณ„์ ์œผ๋กœ ๊ฐœ๋ฐœ, ํ…Œ์ŠคํŠธ, ๋ฐฐํฌ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1. ์ด์ .

    1. ์žฌ์‚ฌ์šฉ์„ฑ : ํ•œ ๋ฒˆ ๊ฐœ๋ฐœ๋œ ์ปดํฌ๋„ŒํŠธ๋Š” ์—ฌ๋Ÿฌ ์‹œ์Šคํ…œ์—์„œ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜์—ฌ ๊ฐœ๋ฐœ ์†๋„๋ฅผ ๋†’์ด๊ณ , ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์šฉ์ดํ•˜๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
    1. ์œ ์—ฐ์„ฑ : ์ปดํฌ๋„ŒํŠธ ๊ฐ„ ๊ฒฐํ•ฉ๋„๊ฐ€ ๋‚ฎ๊ธฐ ๋•Œ๋ฌธ์—, ๊ฐ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ๊ต์ฒดํ•  ์ˆ˜ ์žˆ์–ด ์‹œ์Šคํ…œ์˜ ์œ ์—ฐ์„ฑ์ด ๋†’์•„์ง‘๋‹ˆ๋‹ค.
    1. ์ƒ์‚ฐ์„ฑ ํ–ฅ์ƒ : ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ ์†๋„๋ฅผ ๋†’์ด๊ณ , ์ค‘๋ณต๋œ ์ž‘์—…์„ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2. ์˜ˆ์‹œ.

  • ์ „์ž ์ƒ๊ฑฐ๋ž˜ ์‹œ์Šคํ…œ์—์„œ ๊ฒฐ์ œ ์ฒ˜๋ฆฌ ์ปดํฌ๋„ŒํŠธ๋Š” ๋…๋ฆฝ์ ์œผ๋กœ ๊ฐœ๋ฐœ๋˜์–ด ์‹ ์šฉ์นด๋“œ ๊ฒฐ์ œ, ํŽ˜์ดํŒ” ๊ฒฐ์ œ ๋“ฑ ๋‹ค์–‘ํ•œ ๊ฒฐ์ œ ๋ฐฉ์‹์„ ์ง€์›ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ด ์ปดํฌ๋„ŒํŠธ๋Š” ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋„ ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ์žฌ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4๏ธโƒฃ ๊ฒฐ๋ก .

  • ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™์—์„œ์˜ ์ปดํฌ๋„ŒํŠธ๋Š” ๋…๋ฆฝ์ ์ด๊ณ  ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“ˆ๋กœ, ์‹œ์Šคํ…œ์˜ ๋ชจ๋“ˆ์„ฑ, ์œ ์—ฐ์„ฑ, ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์ด๋Š” ์ค‘์š”ํ•œ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค.
  • ์ปดํฌ๋„ŒํŠธ๋Š” ๋ช…ํ™•ํ•˜๊ฒŒ ์ •์˜๋œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ์ƒํ˜ธ์ž‘์šฉํ•˜๋ฉฐ, ๋Š์Šจํ•˜๊ฒŒ ๊ฒฐํ•ฉ๋˜์–ด ๋ณ€๊ฒฝ์— ๋Œ€ํ•œ ์˜ํ–ฅ์„ ์ตœ์†Œํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ด๋Ÿฌํ•œ ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜ ๊ฐœ๋ฐœ ๋ฐฉ์‹์„ ํ†ตํ•ด ์‹œ์Šคํ…œ์„ ๋” ํšจ์œจ์ ์œผ๋กœ ์„ค๊ณ„ํ•˜๊ณ  ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.