MVC Its Past and Present - ChoDragon9/posts GitHub Wiki


title: MVC Its Past and Present sidebar: auto

์ด ๋ฌธ์„œ๋Š” MVC ๋งˆ์ง€๋ง‰ ๊ฐœ์ • ๋…ผ๋ฌธ์ธ The Model-View-Controller (MVC) Its Past and Present๋ฅผ ๋ฒˆ์—ญํ•œ ๋ฌธ์„œ์ž…๋‹ˆ๋‹ค.

์š”์•ฝ

MVC๋Š” 1978๋…„์— ํŠน์ • ๋ฌธ์ œ์— ๋Œ€ํ•œ ์„ค๊ณ„ ์†”๋ฃจ์…˜์œผ๋กœ ๊ตฌ์ƒ๋˜์—ˆ๋‹ค. ์ตœ์ƒ์œ„ ๋ชฉํ‘œ๋Š” ๊ด€๋ จ ์ •๋ณด ๊ณต๊ฐ„์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž์˜ ๋ฉ˜ํƒˆ๋ชจ๋ธ์„ ์ง€์›ํ•˜๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ์ด ์ •๋ณด๋ฅผ ๊ฒ€์‚ฌํ•˜๊ณ  ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด์—ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ๋ถ€๋ถ„์—์„œ๋Š” ์›๋ž˜ ๋ฌธ์ œ๋ฅผ ์„ค๋ช…ํ•˜๊ณ  ์„ ํƒํ•œ ์†”๋ฃจ์…˜์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๋‘ ๋ฒˆ์งธ ๋ถ€๋ถ„์—์„œ๋Š” ์›๋ž˜์˜ ์•„์ด๋””์–ด๋ฅผ ์„ค๋ช…ํ•˜๊ณ  ํ˜„์žฌ์˜ ๋‹น๋ฉด ๊ณผ์ œ๋ฅผ ์›๋ž˜ ๋ชฉํ‘œ๊นŒ์ง€ ํฌํ•จํ•˜๋„๋ก ๋ฒ”์œ„๋ฅผ ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค. ๋ฌธํ—Œ์—์„œ ๋ฐœ๊ฒฌ๋˜๋Š” MVC์™€ ๊ด€๋ จ๋œ ๋ช‡ ๊ฐ€์ง€ ์•„์ด๋””์–ด๋ฅผ ๊ฒ€ํ† ํ•˜๊ณ , ์ตœ์ƒ์œ„ ๋ชฉํ‘œ์™€ ํŠน๋ณ„ํžˆ ๊ด€๋ จ์ด ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ด๋Š” ์•„์ด๋””์–ด๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๊ฒƒ์€ ๋ชจ๋‘ ์š”์•ฝ๋œ MVC ํŒจํ„ด ์–ธ์–ด๋กœ ์š”์•ฝ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๊ณต์ง€

This presentation is copyright ยฉ2003 Trygve Reenskaug, Oslo, Norway. All rights reserved. ๊ฐœ์ธ ๋˜๋Š” ๊ฐ•์˜์‹ค ์‚ฌ์šฉ์„ ์œ„ํ•ด ์ด ์ž‘์—…์˜ ์ผ๋ถ€ ๋˜๋Š” ์ „๋ถ€๋ฅผ ๋””์ง€ํ„ธ ๋˜๋Š” ํ•˜๋“œ ์นดํ”ผํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์€ ํ•ด๋‹น ์‚ฌ๋ณธ์ด ์ด์ต ๋˜๋Š” ์ƒ์—…์  ์ด์ต์„ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง€์ง€ ์•Š์œผ๋ฉฐ ์‚ฌ๋ณธ์ด ์ฒซ ํŽ˜์ด์ง€์— ์ด ํ†ต์ง€ ๋ฐ ์ „์ฒด ์ธ์šฉ์„ ํฌํ•จํ•˜๋Š” ๊ฒฝ์šฐ ์ˆ˜์ˆ˜๋ฃŒ ์—†์ด ๋ถ€์—ฌ๋œ๋‹ค.

1.์†Œ๊ฐœ

์ด ํ”„๋ ˆ์  ํ…Œ์ด์…˜์€ InfoBOARD ํ”„๋กœ์ ํŠธ์˜ ์ผ๋ถ€๋กœ์„œ ๊ฑฐ์ฃผ ๊ฐ€๋Šฅํ•œ IT ๊ธฐ์ˆ ์„ ๋งŒ๋“œ๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” IT ๊ธฐ์ˆ ์„ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค ์ •๋ณด ์‹œ์Šคํ…œ ์ด ํ”„๋กœ์ ํŠธ์˜ ๋ฒ”์œ„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฃผ์š” ์˜๊ฐ์˜ ์›์ฒœ์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ด ์ด์•ผ๊ธฐ๋Š” ์ธ๊ฐ„๊ณผ ๊ธฐ๊ณ„์˜ ์‚ฌ์ด๋ฅผ ๋ฉ”์šฐ๋Š” ๋ฐ ์ดˆ์ ์„ ๋งž์ถ”๊ณ  ์žˆ๋‹ค.

2. MVC ํŒจํ„ด ์–ธ์–ด

๋‹ค์Œ์€ MVC ์•„์ด๋””์–ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜์˜ ํŒจํ„ด ์–ธ์–ด์˜ ์ฒซ ๋ฒˆ์งธ ์ดˆ์•ˆ์ž…๋‹ˆ๋‹ค. ํŒจํ„ด์€ ํŒจํ„ด ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์„ค์ •ํ•œ ์—„๊ฒฉํ•œ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ

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

MVC ํŒจํ„ด ์–ธ์–ด์˜ ์ด ์ดˆ์•ˆ ๋ฒ„์ „์˜ ํŒจํ„ด์€ ํ”„๋ฆฌ์  ํ…Œ์ด์…˜๊ณผ ํ•จ๊ป˜ ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํŒจํ„ด์€ ํ•ด๋‹น ํ”„๋ ˆ์  ํ…Œ์ด์…˜ ์Šฌ๋ผ์ด๋“œ๋กœ ์žฅ์‹๋ฉ๋‹ˆ๋‹ค. ์ด ์ฒซ ๋ฒˆ์งธ ํŒจํ„ด ์–ธ์–ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŒจํ„ด์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

  • P-1: ํ†ตํ•ฉ ๋„๋ฉ”์ธ ์„œ๋น„์Šค(2ํŽ˜์ด์ง€)
  • P-2: ๋ผ์ธ ๋ถ€์„œ์—์„œ ๋„๋ฉ”์ธ ๊ตฌ์„ฑ ์š”์†Œ ์†Œ์œ (3ํŽ˜์ด์ง€)
  • P-3: ๋ฉ˜ํƒˆ ๊ฐ์ฒด ๋ชจ๋ธ(4ํŽ˜์ด์ง€)
  • P-4: ๊ฐœ์ธ ์ •๋ณด ์‹œ์Šคํ…œ(7ํŽ˜์ด์ง€)
  • P-5: ๋„๋ฉ”์ธ/์‚ฌ์šฉ์ž ๋งคํŠธ๋ฆญ์Šค(8ํŽ˜์ด์ง€)
  • P-6 : ๋ชจ๋ธ/์—๋””ํ„ฐ ๋ถ„๋ฆฌ(9ํŽ˜์ด์ง€)
  • P-7: ์ž…๋ ฅ/์ถœ๋ ฅ ๋ถ„๋ฆฌ(10ํŽ˜์ด์ง€)
  • P-8: ํƒ€์Šค์šฉ ๊ณต๊ตฌ(MVC/1979)(11ํŽ˜์ด์ง€)
  • P-9: ์ปดํฌ์ง€ํŠธ ๊ณต๊ตฌ(MVC/1979)(12ํŽ˜์ด์ง€)
  • P-10: ๋™๊ธฐ์‹ ์„ ํƒ(13ํŽ˜์ด์ง€)
  • P-11: ๋™๊ธฐ์‹ ๋ชจ๋ธ ๋ฐ ๋ณด๊ธฐ(14ํŽ˜์ด์ง€)

P-1: ํ†ตํ•ฉ ๋„๋ฉ”์ธ ์„œ๋น„์Šค

์ปจํ…์ŠคํŠธ

๊ธฐ์—…์€ ๋„๋ฉ”์ธ๊ณผ ๊ฐ™์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋‹ค์–‘ํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ๊ธฐ๋Šฅ์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์„ค๊ณ„, ์žฌ๋ฃŒ ๊ด€๋ฆฌ, ๊ณ„ํš, ์ œ์–ด ๋ฐ ์žฌ๋ฌด ๋“ฑ์ด ๊ทธ ์˜ˆ์ž…๋‹ˆ๋‹ค.

๋ฌธ์ œ

๊ธฐ์—…์€ ์ด๋Ÿฌํ•œ ๋„๋ฉ”์ธ์„ ํ†ตํ•ฉ ์ •๋ณด ์‹œ์Šคํ…œ์œผ๋กœ ์ง€์›ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์†”๋ฃจ์…˜

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

์˜ํ–ฅ๋ ฅ

  • ๋Œ€๊ทœ๋ชจ ๋„๋ฉ”์ธ ์„œ๋น„์Šค๋Š” ๋‹ค๋ฃจ๊ธฐ ์–ด๋ ต๊ณ , ์„ค๊ณ„ํ•˜๊ธฐ ์–ด๋ ต๊ณ , ๊ตฌํ˜„ํ•˜๊ธฐ ์–ด๋ ต๊ณ , ์ˆ˜์ •ํ•˜๊ธฐ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์†Œ๊ทœ๋ชจ ๋„๋ฉ”์ธ ์„œ๋น„์Šค๋Š” ์ „์ฒด ์‹œ์Šคํ…œ์˜ ๋‹จํŽธํ™”๋ฅผ ์œ ๋„ํ•˜๊ณ  ๋„๋ฉ”์ธ ๊ฐ„์˜ ํ†ตํ•ฉ์„ ์–ด๋ ต๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

์•Œ๋ ค์ง„ ์‚ฌ์šฉ

์ด๋Š” ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•œ ์ผ๋ฐ˜์ ์ธ ์ ‘๊ทผ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ๋„๋ฉ”์ธ ์„œ๋น„์Šค๋ฅผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ ๊ฐ„์˜ ํ†ตํ•ฉ์€ ์ข…์ข… ํŠน๋ณ„ํ•˜๋‹ค.

See also

P-2: LINE DEPARTMENT OWNS DOMAIN COMPONENTS (page 3)

History

August 2003: First draft of this pattern

P-2: ๋ผ์ธ ๋ถ€์„œ์—์„œ ๋„๋ฉ”์ธ ๊ตฌ์„ฑ ์š”์†Œ ์†Œ์œ 

์ปจํ…์ŠคํŠธ

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

๋ฌธ์ œ

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

์†”๋ฃจ์…˜

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

์˜ํ–ฅ๋ ฅ

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

Known Uses

์ด ํŒจํ„ด์˜ ์•Œ๋ ค์ง„ ๊ตฌํ˜„์€ ์—†๋‹ค.

See also

History

1973: Ideas first presented at the ICCAS Conference in Tokyo, Japan. [Ree-73] August 2003: First draft of this pattern

P-3: ๋ฉ˜ํƒˆ ๊ฐ์ฒด ๋ชจ๋ธ

์ปจํ…์ŠคํŠธ

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

์ •๋ณด ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉ์ž๊ฐ€ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์„ธ ๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

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

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

๋ฌธ์ œ

๋ฌธ์ œ๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๋ฉ˜ํƒˆ๋ชจ๋ธ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ •๋ณด ์‹œ์Šคํ…œ์˜ ๊ฒฝ์šฐ, ์ด๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉ์ž์™€ ์‹œ์Šคํ…œ ์„ค๊ณ„์ž ๊ฐ„์— ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋ธ๋ง ์–ธ์–ด๋ฅผ ๋‚ด๋ถ€ํ™”ํ•ด์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

๋‘๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค. ์ฒซ์งธ, ์ด ๋ชจ๋ธ๋ง ์–ธ์–ด์˜ ๋ณธ์งˆ์€ ๋ฌด์—‡์ธ๊ฐ€? ๋‘˜์งธ, ์–ด๋–ป๊ฒŒ ์‹œ์Šคํ…œ์„ ์„ค๊ณ„ํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€ ํ•˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ์‹œ์Šคํ…œ์— ์ž์‹ ์˜ ๋ฉ˜ํƒˆ๋ชจ๋ธ์ด ๋ฐ˜์˜๋˜์–ด ์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ํŒจํ„ด์€ ์—ฌ๊ธฐ์„œ ๋‹ค๋ฃฐ ๊ฒƒ์ด๋ฉฐ ๋‘ ๋ฒˆ์งธ ํŒจํ„ด์€ ๋‹ค๋ฅธ ํŒจํ„ด(์•„๋ž˜์˜ "์ฐธ์กฐ"์—์„œ ๋”๋ณด๊ธฐ)์œผ๋กœ ๋ถ„๋ฅ˜ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ฉ˜ํƒˆ๋ชจ๋ธ์€ ๊ฐœ์ธ์˜ ๋งˆ์Œ์†์— ์กด์žฌํ•˜๋Š” ์š”์†Œ๋กœ๋ถ€ํ„ฐ๋งŒ ๋งŒ๋“ค์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์• ํ”Œ์˜ ๋ฐ์Šคํฌํ†ฑ ์€์œ ๋Š” ์ž˜ ์•Œ๋ ค์ง„ ํ™˜๊ฒฝ์„ ๋ฌถ๋Š” ํ•˜๋‚˜์˜ ์˜ˆ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์˜ค๋Š˜๋‚ ์˜ ๋ณต์žกํ•œ ์ •๋ณด ์‹œ์Šคํ…œ์— ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ํ˜„์žฌ ์ •๋ณด ์‹œ์Šคํ…œ์˜ ์‚ฌ์šฉ์ž์ด์ง€๋งŒ, ๊ทธ๋“ค์˜ ๋ฉ˜ํƒˆ๋ชจ๋ธ์€ ๋‹จํŽธ์ ์ด๊ณ  ์ข…์ข… ๋ถ€์ •ํ™•ํ•ฉ๋‹ˆ๋‹ค. ๊ณผ์ œ๋Š” ์‹œ์Šคํ…œ ์„ค๊ณ„์ž๊ฐ€ ์‹œ์Šคํ…œ์„ ์„ค๊ณ„ํ•  ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ•๋ ฅํ•˜๊ณ  ์ •ํ™•ํ•œ ๋ฉ˜ํƒˆ๋ชจ๋ธ์„ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” "์„ธ๊ณ„์˜ ์ง€์‹"์œผ๋กœ ๋ชจ๋ธ๋ง ์–ธ์–ด๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์†”๋ฃจ์…˜

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

์‚ฌ์šฉ์ž์˜ ๋ฉ˜ํƒˆ๋ชจ๋ธ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์–ธ์–ด๋Š” ์‚ฌ์šฉ์ž์˜ ์ˆ˜๋™์  ๋‹จ์–ด(์ฆ‰, "์ž๊ธฐ ์ฆ๋ช…") ๋‚ด์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์–ธ์–ด์˜ ์ •๊ตํ•จ์€ ๋งŒ์•ฝ ์ •๊ตํ•œ ์–ธ์–ด๊ฐ€ "์„ธ์ƒ์˜ ์ง€์‹"์ด ๋œ๋‹ค๋ฉด ์ฆ๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์•Œ๋ ค์ง„ ์ด๋Ÿฌํ•œ ์–ธ์–ด๋Š” UML ํ”„๋กœํŒŒ์ผ ๋˜๋Š” ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ƒˆ๋กœ์šด ์–ธ์–ด๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ„์˜ ๋ฌธ๋‹จ์—์„œ ์–ธ๊ธ‰ํ•œ ๋ฐ”์™€ ๊ฐ™์ด, ์š”๊ตฌ์‚ฌํ•ญ์ด ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ์ง„ํ™”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ƒˆ๋กœ์šด ์‹œ์Šคํ…œ์„ ์„ค๊ณ„ํ•˜๋Š” ๊ฒƒ์€ ์•…๋ช… ๋†’์„ ์ •๋„๋กœ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ํ•ด๊ฒฐ์ฑ…์€ ๋ชจ๋ธ๋ง ์–ธ์–ด๊ฐ€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ๋˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. UML์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ๋˜๋Š” ๊ฒƒ์— ๋งค์šฐ ๊ฐ€๊น์Šต๋‹ˆ๋‹ค. ์ด ๋ชจ๋ธ๋ง/ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ์ฒซ ๋ฒˆ์งธ ์‹คํ—˜๋ถ€ํ„ฐ ์š”๊ตฌ์‚ฌํ•ญ์˜ ์ง„ํ™” ๋ฐ ์ˆ˜๋งŽ์€ ์ถœ์‹œ ์ฃผ๊ธฐ๋ฅผ ํ†ตํ•ด ์ œํ’ˆ ์ˆ˜๋ช… ์ „ ๋‹จ๊ณ„์—์„œ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. OMG๋Š” MDA(๋ชจ๋ธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜)๋ฅผ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณ„ํš์€ ์œ ๋งํ•˜๋ฉฐ ์‚ฌ์šฉ์ž ๋ฉ˜ํƒˆ๋ชจ๋ธ๊ณผ ํ”„๋กœ๊ทธ๋žจ์„ ๋™์‹œ์— ๋ฐœ์ „์‹œํ‚ค๋Š” ๋ฐ ์ผ๋ฐ˜์ ์œผ๋กœ ์•Œ๋ ค์ง„ ์–ธ์–ด์™€ ๋ฐฉ๋ฒ•์˜ ์‹œ์ž‘์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ, ์ถฉ๋ถ„ํžˆ ๊ฐ•๋ ฅํ•œ ์–ธ์–ด๊ฐ€ ์ถฉ๋ถ„ํžˆ ์•Œ๋ ค์ง€๋ฉด, ์‚ฌ์šฉ์ž ์Šค์Šค๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ์ฝ๊ณ  ์“ฐ๋Š” ๊ฒƒ์„ ์œ„ํ•ด ๊ธธ์ด ์—ด๋ฆด ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์˜ํ–ฅ๋ ฅ

์‚ฌ์šฉ์ž๋“ค์€ ๊ทธ๋“ค์˜ ์ „๋ฌธ ๋ถ„์•ผ ๋‚ด์—์„œ ์ •๊ตํ•œ ๊ฒฝํ–ฅ์ด ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์‹ค์ œ ์š”๊ตฌ์‚ฌํ•ญ์€ ๋Œ€๊ฐœ ์ƒ๋‹นํžˆ ๋ณต์žกํ•˜๋‹ค. ์ด๋Š” ๋ชจ๋ธ๊ณผ ๋ชจ๋ธ๋ง ์–ธ์–ด์— ํฐ ๋ถ€๋‹ด์„ ์ค๋‹ˆ๋‹ค. ์‚ฌ๋žŒ๋“ค์€ ์ฃผ์ œ๋ฅผ ๋งˆ์Šคํ„ฐํ•˜๊ธฐ ์œ„ํ•ด ์˜จ ํž˜์„ ๋‹ค ์Šต๋‹ˆ๋‹ค. ๊ณต์‹ ๋ชจ๋ธ๋ง ์–ธ์–ด๋Š” ๊ฐ•ํ•˜๊ฒŒ ์ขŒ๋‡Œ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์šฐ๋‡Œ ํ˜„์ƒ์„ ๋ชจ๋ธ๋งํ•˜๋Š” ๊ฒƒ์„ ์–ด๋ ต๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ถˆ์ผ์น˜๋Š” ๋ฒ”์šฉ ๋ชจ๋ธ๋ง/ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๊ฐœ๋ฐœ ์ค‘์— ์‹ ์ค‘ํ•˜๊ฒŒ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์•Œ๋ ค์ง„ ์‚ฌ์šฉ

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

๋˜ ๋‹ค๋ฅธ ์ง€ํ‘œ๋Š” ์šฐ๋ฆฌ ํšŒ์‚ฌ Taskon์ด 90๋…„๋Œ€์— ์€ํ–‰์—์„œ ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค ๋ชจ๋ธ๋ง ํ”„๋กœ์ ํŠธ๋ฅผ ์ˆ˜ํ–‰ํ–ˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ํ•ญ์ƒ ๊ฐ์ฒด ๋ชจ๋ธ์ด ์‚ฌ์šฉ์ž ์ปค๋ฎค๋‹ˆํ‹ฐ์— ์ž์—ฐ์Šค๋Ÿฌ์›€์„ ๋Š๊ผˆ์œผ๋ฉฐ, ์ž์‹ ์˜ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•ด ์ •ํ™•ํžˆ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.

See also

P-4: PERSONAL INFORMATION SYSTEMS (page 7)

History

1977: Ideas first presented at the IFIP Conference in Toronto, Canada. [Ree-77] August 2003: First draft of this pattern

P-4: ๊ฐœ์ธ ์ •๋ณด ์‹œ์Šคํ…œ

์ปจํ…์ŠคํŠธ

๊ธฐ์—…์€ ์‚ฌ๋žŒ๊ณผ ๊ธฐ๊ณ„๊ฐ€ ์ˆ˜ํ–‰ํ•˜๋Š” ์—ญํ• ์„ ์ •์˜ํ•˜๋Š” ๋ผ์ธ ์กฐ์ง์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ์—ญํ• ์—๋Š” ๊ด€๋ จ๋œ ์ฑ…์ž„, ๊ถŒํ•œ ๋ฐ ์—ญ๋Ÿ‰ ์ง‘ํ•ฉ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์—ญํ• ์˜ ์˜ˆ๋กœ๋Š” ์„ค๊ณ„์ž, ํšŒ๊ณ„์‚ฌ, ๊ธฐ๊ณ„ ์šด์˜์ž๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ

๊ฐœ์ธ์€ ์—ฌ๋Ÿฌ ๋„๋ฉ”์ธ๊ณผ ๊ด€๋ จ๋œ ํƒœ์Šคํฌ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์„ค๊ณ„์ž๋Š” ์ž์‹ ์ด ๋‹ด๋‹นํ•˜๋Š” ์„ค๊ณ„ ์˜์—ญ ๋ถ€๋ถ„๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ฐธ์กฐ ๋ชฉ์ ์„ ์œ„ํ•ด ์„ค๊ณ„ ์˜์—ญ์˜ ๋‹ค๋ฅธ ๋ถ€๋ถ„์—๋„ ์™„์ „ํžˆ ์ ‘๊ทผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์„ค๊ณ„์ž๋Š” ๋˜ํ•œ ์žฌ๋ฃŒ ๊ด€๋ฆฌ ์„œ๋น„์Šค์˜ ์ž์žฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์—ฌ๋ถ€, ํšŒ๊ณ„ ์„œ๋น„์Šค์˜ ์‹œ๊ฐ„ํ‘œ ์ž‘์„ฑ, ๊ณ„ํš ๋ฐ ๊ด€๋ฆฌ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ๋ณด๊ณ ์„œ ์ง„ํ–‰ ์—ฌ๋ถ€ ๋“ฑ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ์ธ์€ ๋‹ค์–‘ํ•œ ์—…๋ฌด์—์„œ ์ž์‹ ์„ ์ง€์›ํ•  ์ˆ˜ ์žˆ๋Š” ์—…๋ฌด ์ง€ํ–ฅ์  ๋„๊ตฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์†”๋ฃจ์…˜

๋‹ค์–‘ํ•œ ์ž‘์—…์„ ์ง€์›ํ•˜๋Š” ๊ฐœ๋ณ„ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉ์ž์˜ ๋ชจ๋“  ์ž‘์—…์„ ์ง€์›ํ•˜๋Š” ๊ฐœ์ธ ์ปดํ“จํ„ฐ์— ๋‚ด์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•„์š”์— ๋”ฐ๋ผ ๊ฐ ๋„๊ตฌ๊ฐ€ ํ•˜๋‚˜ ์ด์ƒ์˜ ๋„๋ฉ”์ธ ์„œ๋น„์Šค์— ์•ก์„ธ์Šคํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

์˜ํ–ฅ๋ ฅ

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

์‚ฌ๋žŒ๋“ค์˜ ์ผ์€ ์ข…์ข… ๋ณต์žกํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ๋žŒ๋“ค์˜ ๊ณผ์ œ๋Š” ์ข…์ข… ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์˜์—ญ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด ๋„๊ตฌ๋Š” ์—ฌ๋Ÿฌ ๋„๋ฉ”์ธ์— ๊ฑธ์นœ ํ†ตํ•ฉ ์ง€์ ์ž…๋‹ˆ๋‹ค. 4๊ณ„์ธต์€ View, Application Model, Domain Model ๋ฐ Infrastructure๋ผ๊ณ  ํ•˜๋Š” 4๊ณ„์ธต๋„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

์•Œ๋ ค์ง„ ์‚ฌ์šฉ

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

์ฐธ์กฐ

P-5: ๋„๋ฉ”์ธ/์‚ฌ์šฉ์ž ๋งคํŠธ๋ฆญ์Šค(8ํŽ˜์ด์ง€)

์—ญ์‚ฌ

  • 1999๋…„ 6์›”: TOOLS ์œ ๋Ÿฝ 99 ํ‚ค๋…ธํŠธ: "T. Reenskaug: ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜ ๊ฐœ๋ฐœ - ํŠธ๋ฃจ ์˜ค๋ธŒ์ ํŠธ ๋ฐฉํ–ฅ".
  • 2003๋…„ 8์›”: ์ด ํŒจํ„ด์˜ ์ดˆ์•ˆ

P-5: ๋„๋ฉ”์ธ/์‚ฌ์šฉ์ž ๋งคํŠธ๋ฆญ์Šค

์ปจํ…์ŠคํŠธ

P-2: ๋ผ์ธ ์„ธ๋ถ€ ์‚ฌํ•ญ ๋„๋ฉ”์ธ ๊ตฌ์„ฑ ์š”์†Œ(3ํŽ˜์ด์ง€)๋Š” ๊ฐ ๋„๋ฉ”์ธ ์„œ๋น„์Šค๋ฅผ ์—ฌ๋Ÿฌ ๋„๋ฉ”์ธ ๊ตฌ์„ฑ ์š”์†Œ๋กœ ๋ถ„ํ•ดํ•˜๋„๋ก ์ง€์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. P-3: ๋ฉ˜ํƒˆ ๊ฐ์ฒด ๋ชจ๋ธ(4ํŽ˜์ด์ง€)๊ณผ P-4: ๊ฐœ์ธ ์ •๋ณด ์‹œ์Šคํ…œ(7ํŽ˜์ด์ง€)์€ ์‚ฌ์šฉ์ž์˜ ์ •์‹  ๋ชจ๋ธ์ด ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๊ณ  ๋„๋ฉ”์ธ ์„œ๋น„์Šค์˜ ์‹ค์ œ ์„ฑ๊ฒฉ๊ณผ ์ผ์น˜ํ•˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋Š” ๊ฐ์ฒด ๋ชจ๋ธ์ด์–ด์•ผ ํ•œ๋‹ค๊ณ  ์ œ์•ˆํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ

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

์†”๋ฃจ์…˜

๋„๋ฉ”์ธ ๊ตฌ์„ฑ ์š”์†Œ์—์„œ ์ผ๋ฐ˜ ์ •๋ณด ๋ฐ ๋™์ž‘์„ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค. ์ค‘์•™ ์ง‘์ค‘์‹์œผ๋กœ ์ œ์–ด๋˜๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ ๋„๋ฉ”์ธ์—์„œ ์ผ๋ฐ˜์ ์ธ ์ •๋ณด์™€ ๋™์ž‘์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์Šฌ๋ผ์ด๋“œ์— ๋‚˜์™€ ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋„๋ฉ”์ธ ์„œ๋น„์Šค ๊ตฌ์„ฑ ์š”์†Œ ์œ„์— ๋น„์ฆˆ๋‹ˆ์Šค ๊ฐœ์ฒด์˜ ์ƒˆ ๊ณ„์ธต์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๊ฐ ๋น„์ฆˆ๋‹ˆ์Šค ๊ฐ์ฒด๊ฐ€ ํ•„์š”์— ๋”ฐ๋ผ ๋„๋ฉ”์ธ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ์Šคํ…œ์ด ์‚ฌ์šฉ์ž์˜ ์ •์‹ ์  ๋ชจ๋ธ์„ ๊ตฌํ˜„ํ•œ๋‹ค๋Š” ์ฐฉ๊ฐ์„ ์ผ์œผํ‚ค๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ("๋น„์ฆˆ๋‹ˆ์Šค ๊ฐ์ฒด"๋ผ๋Š” ์šฉ์–ด๋Š” OMG ์ด๋‹ˆ์…”ํ‹ฐ๋ธŒ์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ด ์šฉ์–ด๋Š” OMG ์šฉ๋„์™€ ์ผ์น˜ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.)

์˜ํ–ฅ๋ ฅ

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

์ฐธ์กฐ

  • P-6: ๋ชจ๋ธ/์—๋””ํ„ฐ ๋ถ„๋ฆฌ(9ํŽ˜์ด์ง€)
  • P-7: ์ž…๋ ฅ/์ถœ๋ ฅ ์„ธ์…˜(10ํŽ˜์ด์ง€)

์—ญ์‚ฌ

1973๋…„ 8์›”: ์œ„์˜ ์ˆ˜์น˜๋Š” 2003๋…„ 8์›”: ์ฒซ ๋ฒˆ์งธ ํŒจํ„ด ๋ฒ„์ „.

P-6 : ๋ชจ๋ธ/์—๋””ํ„ฐ ๋ถ„๋ฆฌ

์ปจํ…์ŠคํŠธ

์‚ฌ์šฉ์ž๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ๊ฐ์ฒด(8ํŽ˜์ด์ง€์˜ P-5)๋ฅผ ์—ฐ๊ตฌํ•˜๊ณ  ์ƒํ˜ธ ์ž‘์šฉํ•˜๊ธฐ๋ฅผ ์›ํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œ

์‚ฌ์šฉ์ž๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ๊ฐœ์ฒด์— ์กด์žฌํ•˜๋Š” ์ •๋ณด๋ฅผ ๊ฒ€์‚ฌํ•˜๊ณ  ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ด๋Ÿฌํ•œ ๊ฐœ์ฒด๋Š” ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํฌํ•จํ•˜๋Š” ๋…ธ๋“œ์—์„œ ์ง์ ‘ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • ๋„ˆ๋ฌด ๋ณต์žกํ•ด์„œ ์ง์ ‘ ๋ณผ ์ˆ˜ ์—†์Œ
  • ๊ฐ ๋ฒ„์ „์€ ๋™์ผํ•œ ์ •๋ณด์— ๋Œ€ํ•ด ์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋ ˆ์  ํ…Œ์ด์…˜ ๋ฐ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์†”๋ฃจ์…˜

๊ฐ ๋น„์ฆˆ๋‹ˆ์Šค ๊ฐœ์ฒด๋ฅผ ์‚ฌ์šฉ์ž์™€ ๋„๋ฉ”์ธ ์„œ๋น„์Šค์— ๊ฐ€๊นŒ์šด ๋‘ ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆ•๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด๋Ÿฌํ•œ ๊ฐ์ฒด๋“ค์„ ๊ฐ๊ฐ Editor์™€ Model์ด๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. Model์€ ์‚ฌ์šฉ์ž์˜ ์‹ฌ์  ๋ชจ๋ธ์„ ๋ฐ˜์˜ํ•˜์—ฌ ์ •๋ณด์™€ ๋™์ž‘์œผ๋กœ ์‚ฌ์šฉ์ž์˜ ๊ฐ์ฒด ๋ชจ๋ธ์„ ๊ณ ์ •ํ•ฉ๋‹ˆ๋‹ค. Editor๋Š” ํ”„๋ฆฌ์  ํ…Œ์ด์…˜ ๋ฐ ์‚ฌ์šฉ์ž ์ž‘์—…์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ์€ ์— ์ •์˜๋œ ๋Œ€๋กœ Facade๋กœ ๊ตฌํ˜„๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Editor๋Š” ์˜ˆ๋ฅผ ๋“ค์–ด Java Swing ๊ตฌ์„ฑ์š”์†Œ๋กœ ์ง์ ‘ ์ฝ”๋”ฉ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, Java Bean์ผ ์ˆ˜๋„ ์žˆ๊ณ , GUI ํŽ˜์ธํŠธ ๋˜๋Š” ๋ชจ๋ธ ์ฝ”๋“œ์— ๋ฐ˜์˜๋˜์–ด ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ํ–ฅ๋ ฅ

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

See also

  • P-7: INPUT/OUTPUT SEPARATION(MVC/1980) (page 10)
  • P-9: TOOL AS A COMPOSITE (MVC/1979) (page 12)
  • P-11: SYNCHRONIZE MODEL AND VIEW (page 14)

History

  • 1979: This idea was part of the original MVC. [MVC-1], [MVC-2]
  • May 2001: MVC pattern written for Mogul patterns workshop.
  • August 2003: Above pattern refactored and revised

P-7: ์ž…๋ ฅ/์ถœ๋ ฅ ๋ถ„๋ฆฌ (MVC/1980)

์ปจํ…์ŠคํŠธ

9ํŽ˜์ด์ง€์˜ P-6์— ์„ค๋ช…๋œ ํŽธ์ง‘๊ธฐ๋Š” ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์„ ๋™์ผํ•œ ๊ฐ์ฒด์— ๊ฒฐํ•ฉํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œ

Editor์˜ ์ž…๋ ฅ ๋ฐ ์ถœ๋ ฅ ์ธก๋ฉด์€ ๊ธฐ์ˆ ์ ์œผ๋กœ ๋งค์šฐ ๋‹ค๋ฅด๋ฉฐ ์ƒํ˜ธ ์ข…์†์„ฑ์ด ๊ฑฐ์˜ ์—†์Šต๋‹ˆ๋‹ค. ๋‹จ์ผ ๊ฐœ์ฒด์—์„œ ์ด๋Ÿฌํ•œ ๊ฐœ์ฒด๋ฅผ ์กฐํ•ฉํ•˜๋ฉด ์ด ๊ฐœ์ฒด๋ฅผ ๋ถˆํ•„์š”ํ•˜๊ฒŒ ๋ณต์žกํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒฝํ–ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์†”๋ฃจ์…˜

Editor ๊ฐ์ฒด์— ๋‘ ๊ฐœ์˜ ๊ฐ์ฒด๊ฐ€ ํฌํ•จ๋˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ํ”„๋ ˆ์  ํ…Œ์ด์…˜์„ ๋‹ด๋‹นํ•˜๋Š” View ๊ฐ์ฒด์™€ ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ์„ ์ˆ˜์‹ ํ•˜๊ณ  ํ•ด์„ํ•˜๋Š” Controller ๊ฐ์ฒด๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆผ์—๋Š” Smalltalk-80 ์†”๋ฃจ์…˜์„ ์„ค๋ช…ํ•˜๋Š” UML ๊ณต๋™ ์ž‘์—… ๋ชจ๋ธ์ด ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๊ทธ๋ฆผ์€ SmallTalk ํด๋ž˜์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ๊ฐ€์ ธ์˜จ ํด๋ž˜์Šค ๊ณ„์ธต์˜ ์˜ˆ๋ฅผ ๋ณด์—ฌ ์ค๋‹ˆ๋‹ค.

์˜ํ–ฅ๋ ฅ

  • ๊ฐ„๋‹จํ•œ ๊ฒฝ์šฐ Model, View ๋ฐ Controller ์—ญํ• ์„ ๋™์ผํ•œ ๊ฐœ์ฒด๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ: ์Šคํฌ๋กค ๋ง‰๋Œ€.
  • View(๋ณด๊ธฐ) ๋ฐ Controller(์ปจํŠธ๋กค๋Ÿฌ) ์—ญํ• ์€ ๋งค์šฐ ๊ธด๋ฐ€ํ•˜๊ฒŒ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์„ ๋•Œ ๋™์ผํ•œ ๊ฐ์ฒด์— ์˜ํ•ด ์ˆ˜ํ–‰๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ: ๋ฉ”๋‰ด.
  • ์ผ๋ฐ˜์ ์œผ๋กœ ์„ธ ๊ฐœ์˜ ๋‹ค๋ฅธ ๋ฌผ์ฒด์— ์˜ํ•ด ์—ฐ์ฃผ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ: ๊ฐ์ฒด ์ง€ํ–ฅ ์„ค๊ณ„ ๋ชจ๋ธ.

์ฐธ์กฐ

  • P-8: ํƒ€์Šคํฌ(MVC/1979)์šฉ ๊ณต๊ตฌ(11ํŽ˜์ด์ง€)
  • P-10: ๋™๊ธฐ์‹ ์„ ํƒ (13์ชฝ)

์—ญ์‚ฌ

  • 1980: ์ด๊ฒƒ์€ Smalltalk-80 ํด๋ž˜์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ MVC์ž…๋‹ˆ๋‹ค.
  • 2003๋…„ 8์›” : ์œ„์—์„œ ๋ฐœ์ทŒํ•œ ํŒจํ„ด์˜ ์ตœ์ดˆ ์ดˆ์•ˆ

P-8: ์ž‘์—…์šฉ ํˆด(MVC/1979)

์ปจํ…์ŠคํŠธ

์‚ฌ์šฉ์ž์˜ ์‹ฌ์  ๋ชจ๋ธ์„ ๋ฐ˜์˜ํ•˜๋Š” ์ „๋ฉด์ด ์žˆ๋Š” ์‚ฌ์šฉ์ž์™€ ๋ชจ๋ธ ๊ฐ์ฒด.

๋ฌธ์ œ

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

์†”๋ฃจ์…˜

ํ•„์š”ํ•œ ํŽธ์ง‘์ž๊ฐ€ ํฌํ•จ๋œ ๋„๊ตฌ ๊ฐœ์ฒด๋กœ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ถ€ ๋˜๋Š” ๋ชจ๋“  ํŽธ์ง‘์ž๋Š” ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด View-Controller ์กฐํ•ฉ์œผ๋กœ ๋ถ„ํ• ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(10ํŽ˜์ด์ง€์˜ P-7 ์ฐธ์กฐ).

์˜ํ–ฅ๋ ฅ

  • ๊ฐ„๋‹จํ•œ ๊ฒฝ์šฐ, ํˆด์€ ๋‹จ์ผ Editor๋กœ ๊ตฌ์„ฑ๋  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ด ํŽธ์ง‘๊ธฐ๋Š” ๋„๊ตฌ ์—ญํ• ๋„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ณต์žกํ•œ ์ž‘์—…์— ์—ฌ๋Ÿฌ ํŽธ์ง‘์ž๊ฐ€ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ์กฐ์ •ํ•˜๋ ค๋ฉด ๋ณ„๋„์˜ ๋„๊ตฌ ๊ฐœ์ฒด๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ฐธ์กฐ

  • P-9: ์ปดํฌ์ง€ํŠธ ๊ณต๊ตฌ(MVC/1979)(12ํŽ˜์ด์ง€)
  • P-10: ๋™๊ธฐ์‹ ์„ ํƒ (13์ชฝ)
  • P-11: ๋™๊ธฐ์‹ ๋ชจ๋ธ ๋ฐ ๋ทฐ(14ํŽ˜์ด์ง€)

์—ญ์‚ฌ

  • 1979๋…„ : ์ด๊ฒƒ์€ ์›๋ž˜์˜ MVC[MVC-1]์ž…๋‹ˆ๋‹ค.
  • 2001: ๋ชจ๊ตด ํŒจํ„ด ์›Œํฌ์ƒต์„ ์œ„ํ•ด ์ž‘์„ฑ๋œ MVC ํŒจํ„ด ์ดˆ์•ˆ
  • 2003๋…„ 8์›” : ์œ„์—์„œ ๋ฐœ์ทŒํ•œ ํŒจํ„ด์˜ ์ตœ์ดˆ ์ดˆ์•ˆ

P-9: ์ปดํฌ์ง€ํŠธ ํˆด(MVC/1979)

์ปจํ…์ŠคํŠธ

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

๋ฌธ์ œ

์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌ์„ฑํ•ด ์ด ์š”๊ตฌ์‚ฌํ•ญ์„ ๊ฐ„๋‹จํ•˜๊ณ  ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ ์ง€์›ํ•œ๋‹ค.

์†”๋ฃจ์…˜

์‹œ์Šคํ…œ์„ ๋„ค ๊ฐ€์ง€๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ด๋Ÿฌํ•œ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ช…ํ™•ํ•˜๊ฒŒ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

  1. ๋ชฉํ‘œ์™€ ๊ณผ์ œ๋ฅผ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž.
  2. ์‚ฌ์šฉ์ž์˜ ๋ฉ˜ํƒˆ๋ชจ๋ธ์˜ ์ƒํƒœ, ๊ตฌ์กฐ ๋ฐ ํ–‰๋™์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ชจ๋ธ.
  3. ์ ์ ˆํ•œ ๋ฐฉ์‹์œผ๋กœ ๊ด€๋ จ ์ •๋ณด๋ฅผ ํ‘œ์‹œํ•˜๊ณ  ํ•ด๋‹น ์‹œ ์ด ์ •๋ณด์˜ ํŽธ์ง‘์„ ์ง€์›ํ•˜๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ํŽธ์ง‘์ž
  4. ํŽธ์ง‘์ž๋ฅผ ์„ค์ •ํ•˜๊ณ  ์กฐ์ž‘์„ ์กฐ์ •ํ•˜๋Š” ๋„๊ตฌ (์˜ˆ: ์—ฌ๋Ÿฌ ํŽธ์ง‘๊ธฐ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋ธ ๊ฐ์ฒด ์„ ํƒ). ๋ณต์žกํ•œ ํŽธ์ง‘๊ธฐ๋Š” ๋‹ค์‹œ ๋ณด๊ธฐ์™€ ์ปจํŠธ๋กค๋Ÿฌ๋กœ ์„ธ๋ถ„๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•Œ๋ ค์ง„ ์šฉ๋ฒ•.

์ด ํŒจํ„ด์€ OOram ์—ญํ•  ๋ชจ๋ธ๋ง ๋„๊ตฌ ๋ฐ ๊ธฐํƒ€ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๊ด‘๋ฒ”์œ„ํ•˜๊ฒŒ ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ๋˜ํ•œ Exie ์ œํ’ˆ์—์„œ๋„ ์‚ฌ์šฉ๋œ๋‹ค.

์ฐธ์กฐ

  • P-8: ํƒ€์Šคํฌ(MVC/1979)์šฉ ๊ณต๊ตฌ(11ํŽ˜์ด์ง€)
  • P-10: ๋™๊ธฐ์‹ ์„ ํƒ (13์ชฝ)
  • P-11: ๋™๊ธฐ์‹ ๋ชจ๋ธ ๋ฐ ๋ทฐ(14ํŽ˜์ด์ง€)

์—ญ์‚ฌ

  • 1979๋…„: ์ด๊ฒƒ์€ ์›๋ž˜์˜ MVC์ž…๋‹ˆ๋‹ค.
  • 2001: ๋ชจ๊ตด ํŒจํ„ด ์›Œํฌ์ƒต์„ ์œ„ํ•ด ์ž‘์„ฑ๋œ MVC ํŒจํ„ด ์ดˆ์•ˆ
  • 2003๋…„ 8์›” : ์œ„์—์„œ ๋ฐœ์ทŒํ•œ ํŒจํ„ด์˜ ์ตœ์ดˆ ์ดˆ์•ˆ

P-10: ๋™๊ธฐ์‹ ์„ ํƒ

์ปจํ…์ŠคํŠธ

์šฐ๋ฆฌ๋Š” ๊ฐ™์€ ๋ฌผ์ฒด์˜ ๋‹ค๋ฅธ View๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” Tool๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ

์‚ฌ์šฉ์ž๋Š” View ์ค‘ ํ•˜๋‚˜์—์„œ ํ•˜๋‚˜ ์ด์ƒ์˜ ๊ฐœ์ฒด๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์„ ํƒํ•œ ๊ฐ์ฒด๊ฐ€ ํ‘œ์‹œ๋˜๋Š” ๋ชจ๋“  View์— ์„ ํƒ ์‚ฌํ•ญ์ด ๋‚˜ํƒ€๋‚˜์•ผ ๊ฐ์ฒด ๋ชจ๋ธ ์ฐฉ๊ฐ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์†”๋ฃจ์…˜

๋ชจ๋“  ๊ด€๋ จ View๋ฅผ ์•Œ๊ณ  ์žˆ๋Š” ๊ฐ์ฒด๊ฐ€ ์„ ํƒํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๋„๊ตฌ๋Š” ์ด๋Ÿฌํ•œ ๊ฐœ์ฒด์˜ ์˜ˆ์ž…๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•œ ์˜ˆ๋Š” ST-80 MVC์—์„œ ์ฑ…์ž„์˜ ๋ถ„ํ• ์ž…๋‹ˆ๋‹ค. ์„ ํƒ MSC๋Š” ์Šฌ๋ผ์ด๋“œ์— ์™ผ์ชฝ์˜ ์Šฌ๋ผ์ด๋“œ์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์€ OOram์ด ์ด๋Ÿฌํ•œ ํŒจํ„ด์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ฃผ๋Š” ๋˜ ๋‹ค๋ฅธ MSC์ž…๋‹ˆ๋‹ค.

์˜ํ–ฅ๋ ฅ

  • ๋งŽ์€ ๊ฐ์ฒด์˜ ์„ ํƒ๊ณผ ํ‡ด์ถœ์ด ๋งค์šฐ ๋ณต์žกํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•Œ๋ ค์ง„ ์‚ฌ์šฉ

์ด ํŒจํ„ด์€ OOram ๋ชจ๋ธ๋ง ๋„๊ตฌ์—์„œ ๊ด‘๋ฒ”์œ„ํ•˜๊ฒŒ ์‚ฌ์šฉ๋˜์—ˆ์œผ๋ฉฐ Exie ์ œํ’ˆ์—์„œ๋„ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ฐธ์กฐ

ํ•ด๋‹น๋˜์ง€ ์•Š์Œ.

์—ญ์‚ฌ

2003๋…„ 8์›”: ์ฒซ ๋ฒˆ์งธ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.

P-11: ๋™๊ธฐ์‹ ๋ชจ๋ธ ๋ฐ ๋ทฐ

์ปจํ…์ŠคํŠธ

๋ณด๊ธฐ๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ๋ชจ๋ธ ๊ฐœ์ฒด์—์„œ ๊ฒ€์ƒ‰ํ•˜๋Š” ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œ

๋ทฐ๋Š” ๋ชจ๋ธ ๋ฐ์ดํ„ฐ๋ฅผ ํ™”๋ฉด ๋ฒ„ํผ ๋ฐ/๋˜๋Š” ๊ฐœ์ธ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐ์ดํ„ฐ๋Š” ๋ชจ๋ธ์ด ๋ณ€๊ฒฝ๋  ๋•Œ๋งˆ๋‹ค ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.์ด๊ฒƒ์€ [GOF]์—์„œ ๊ด€์ฐฐ์ž ํŒจํ„ด์˜ ํŠน๋ณ„ํ•œ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.

์†”๋ฃจ์…˜

๋ทฐ๊ฐ€ ๋ชจ๋ธ์— ์ข…์†๋œ ๊ฒƒ์œผ๋กœ ๋ชจ๋ธ์— ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ณ  ๋ชจ๋ธ์ด ๋ณ€๊ฒฝ๋  ๋•Œ๋งˆ๋‹ค ๋ชจ๋ธ์—๊ฒŒ ์Šน์ธ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋ฅธ์ชฝ์—๋Š” ๋‘ ๊ฐ€์ง€ ์˜ˆ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ๋Š” ST-80 ํด๋ž˜์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ๋ฐœ๊ฒฌ๋œ ๊ฐ„๋‹จํ•œ ์—…๋ฐ์ดํŠธ ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ๋Š” Views(๋ณด๊ธฐ)์— ๋ฆด๋ฆฌ์Šคํ•˜๊ธฐ ์ „์— ํŠธ๋žœ์žญ์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ˆ„์ ํ•˜๋Š” OOram ์†”๋ฃจ์…˜์˜ ์š”์•ฝ์ž…๋‹ˆ๋‹ค.

์˜ํ–ฅ๋ ฅ

์Šค๋ชฐํ† ํฌ ๋ณ€๊ฒฝ/์—…๋ฐ์ดํŠธ๋Š” ์Šคํฌ๋ฆฐ์—์„œ ๋งŽ์€ ์„ฑ๊ฐ€์‹  ์„ฌ๊ด‘์„ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. ํŠธ๋žœ์žญ์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ (๋ณตํ•ฉ) ์‚ฌ์šฉ์ž ์ž‘์—…์— ๋Œ€ํ•ด ์—…๋ฐ์ดํŠธ ์ˆ˜๋ฅผ 1๊ฐœ๋กœ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ChangeParameter๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ณ€๊ฒฝ๋œ ๊ฐœ์ฒด ์†์„ฑ์„ ์‹๋ณ„ํ•˜์—ฌ ๊นœ๋ฐ•์ž„์„ ๋”์šฑ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (๋ณด๊ธฐ ๋ฐ ๋ชจํ˜•์—๋Š” ๋ชจ๋ธ์˜ ์ •๋ณด ๊ฒ€์ƒ‰ ์ธํ„ฐํŽ˜์ด์Šค์— ๊ณตํ†ต ๋‹จ์–ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.) ๋ชจํ˜•์— ๋ชจํ˜• ์ง€์˜ค๋ฉ”ํŠธ๋ฆฌ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ๋ณด๋‹ค ์ •๊ตํ•œ ChangeParameter๋Š” ๋ณ€๊ฒฝ์˜ ์˜ํ–ฅ์„ ๋ฐ›๋Š” ์˜์—ญ๋„ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์˜ˆ: ๋„๋ฉด์˜ ๊ฒฝ์šฐ).

์•Œ๋ ค์ง„ ์‚ฌ์šฉ

์ด ํŒจํ„ด์€ OOram ๋ชจ๋ธ๋ง ๋„๊ตฌ์—์„œ ๊ด‘๋ฒ”์œ„ํ•˜๊ฒŒ ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ๋˜ํ•œ Exie ์ œํ’ˆ์—๋„ ์‚ฌ์šฉ๋œ๋‹ค.

์ฐธ์กฐ

ํ•ด๋‹น๋˜์ง€ ์•Š์Œ.

์—ญ์‚ฌ

2003๋…„ 8์›”: ์ฒซ ๋ฒˆ์งธ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.

3. ๋ฏธ๋ž˜

์šฐ๋ฆฌ๊ฐ€ ์–ด๋””์— ์žˆ์ง€์š”? ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ์—ฌ๊ธฐ์„œ ์–ด๋””๋กœ ๊ฐ€์•ผ ํ• ๊นŒ์š”?

  1. ๋งŽ์€ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ๋ฌธ์ œ๋ฅผ ์ดํ•ดํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ๋ฌธํ—Œ์—์„œ ๋” ๋งŽ์€ ๋ฌธ์ œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. ๊ณต๊ตฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ž๋™ํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Naked Objects ํ”„๋กœ์ ํŠธ๋Š” ์œ ๋งํ•œ ์‹œ์ž‘์ด๋‹ค.
  3. ๊ฑด์ถ•๊ณผ ์‚ฌ์šฉ์ž์™€ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋“ค์ด ๊ณตํ†ต์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด๋กœ ๋” ๋งŽ์€ ์ž‘์—…์„ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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

์›๋ณธ