๐ŸชŸ
ASP.NET Core
WebAPI ServerASP.NET CoreMain Subject
  • Intro
  • Program.cs
  • Dependency Injection
  • Host
  • MVC
  • Middleware
  • Model Binding
  • Controller
  • Configure
  • Logging
  • Library
    • WebApplicationzBuilder
  • Example Code
    • basic01
    • basic02
    • basic03
    • basic04
    • basic05
    • basic06
    • basic07
Powered by GitBook
On this page
  • ์˜๋ฏธ
  • Model
  • View
  • Controller
  • ์˜ˆ์‹œ
  • ์žฅ์ 
  • ๋™์ž‘ ์ˆœ์„œ
  • ASP.NET Core์—์„œ์˜ MVP
  • ์ƒ์„ฑ
  • WebAPI server ์™€ MVC
  • ์ฐธ๊ณ ๋ฌธํ—Œ

MVC

์˜๋ฏธ

  • ๋ฐ์ดํ„ฐ(Model) - ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค(View) - ๋…ผ๋ฆฌ์ œ์–ด(Controller) ๋กœ ๋‚˜๋ˆˆ ์†Œํ”„ํŠธ์›จ์–ด ๋””์ž์ธ ํŒจํ„ด

  • ASP.NET Core ์—์„œ๋„ MVC ๋ฐฉ์‹์˜ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ง€์›ํ•จ

Model

  • ์•ฑ์ด ํฌํ•จํ•ด์•ผํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฌด์—‡์ธ์ง€๋ฅผ ์ •์˜ํ•จ. ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  ์ €์žฅํ•˜๋ฉฐ, ์ด๋ฅผ ์ปจํŠธ๋กค๋Ÿฌ๋‚˜ ๋ทฐ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•จ

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋˜์–ด์žˆ๊ณ , ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ๊บผ๋‚ด์™€์„œ Model์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ์‹์ด ๋งŽ์ด ์“ฐ์ž„

  • ์ž์‹ ์˜ ์ƒํƒœ์— ๋ณ€ํ™”๊ฐ€ ์žˆ์„ ๋•Œ ์ปจํŠธ๋กค๋Ÿฌ์™€ ๋ทฐ์— ์ „๋‹ฌํ•จ(๋˜๋Š” ์ปจํŠธ๋กค๋Ÿฌ์™€ ๋ทฐ๊ฐ€ ๊ฐ€์ ธ๊ฐ)

View

  • ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ •์˜ํ•จ

  • ํ‘œ์‹œํ•  ๋ฐ์ดํ„ฐ๋ฅผ model๋กœ ๋ถ€ํ„ฐ ๋ฐ›์•„์„œ, ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์คŒ. ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์„ ๋ฐ›๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋„ ๊ตฌํ˜„ํ•จ

  • ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ง€๋Š” ํ™”๋ฉด ์ž์ฒด์— ๋Œ€ํ•œ ๊ตฌํ˜„์„ ์˜๋ฏธํ•จ

Controller

  • ๋ชจ๋ธ๊ณผ ๋ทฐ๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ , ์‚ฌ์šฉ์ž ์ž…๋ ฅ์— ๋Œ€ํ•œ ์‘๋‹ต์œผ๋กœ ๋ชจ๋ธ/๋ทฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋กœ์ง์„ ์ •์˜ํ•จ

  • ๋ชจ๋ธ์— ๋ช…๋ น์„ ๋ณด๋ƒ„์œผ๋กœ์จ ๋ชจ๋ธ์˜ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๊ณ , ๋ทฐ์— ๋ช…๋ น์„ ๋ณด๋ƒ„์œผ๋กœ์จ ๋ชจ๋ธ์˜ ํ‘œ์‹œ ๋ฐฉ๋ฒ•์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Œ

์˜ˆ์‹œ

์•ฑ ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌผํ’ˆ์„ ์žฅ๋ฐ”๊ตฌ๋‹ˆ์— ์ถ”๊ฐ€ํ•  ๋•Œ

  1. ์‚ฌ์šฉ์ž๋Š” View๊ฐ€ ๋งŒ๋“  ์žฅ๋ฐ”๊ตฌ๋‹ˆ ์ถ”๊ฐ€ ๋ฒ„ํŠผ ํด๋ฆญ

  2. Controller๊ฐ€ Model์—๊ฒŒ ์‚ฌ์šฉ์ž์˜ ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๋ชฉ๋ก์— ์—…๋ฐ์ดํŠธ๊ฐ€ ํ•„์š”ํ•จ์„ ์•Œ๋ฆผ

  3. Model์€ Controller์˜ ์•ˆ๋‚ด๋Œ€๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•จ

  4. View๊ฐ€ ๋‹ค์‹œ ์—…๋ฐ์ดํŠธ ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ–๊ณ  ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌ์„ฑํ•˜์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์คŒ

์žฅ์ 

  • ๋กœ์ง๊ณผ UI๋ฅผ ๋ถ„๋ฆฌํ•˜์—ฌ ์œ ์ง€๋ณด์ˆ˜์„ฑ, ํ™•์žฅ์„ฑ, ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Œ

  • ์—ฌ๋Ÿฌ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋™์‹œ์— ๊ฐœ๋ฐœ์„ ํ•  ๋•Œ, ๋ชจ๋ธ, ๋ทฐ, ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ๋ถ„๋ฆฌํ•จ์œผ๋กœ์จ ๊ฐœ๋ฐœ์˜ ๋ณต์žก์„ฑ์„ ์ค„์ด๊ณ  ๊ฐ์ž์˜ ์—ญํ• ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์Œ

๋™์ž‘ ์ˆœ์„œ

  1. HTTP Request ๊ฐ€ ์„œ๋ฒ„์— ์˜ด

  2. Routing์— ์˜ํ•ด Controller / Action์ด ์ •ํ•ด์ง

  3. Model Binding์œผ๋กœ Request์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํŒŒ์‹ฑ ํ•˜๊ณ  ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ (Binding Model๋กœ ๋ฐ›์•„์„œ ์ฒ˜๋ฆฌ)

  4. ๋‹ด๋‹น ์„œ๋น„์Šค๋กœ ๋ชจ๋ธ์„ ์ „๋‹ฌํ•จ (Application Model๋กœ ๋ฐ”๊ฟ”์„œ ๋ณด๋ƒ„)

  5. ๋‹ด๋‹น ์„œ๋น„์Šค๊ฐ€ ๊ฒฐ๊ณผ๋ฌผ์„ Action์—๊ฒŒ ๋Œ๋ ค์คŒ

  6. Action์—์„œ View๋กœ ์ „๋‹ฌ (View Model)

    • WebAPI ์„œ๋ฒ„์˜ ๊ฒฝ์šฐ, API Model ๋กœ ๋ณด๋‚ด์ค˜์„œ Response๋กœ ๊ฒฐ๊ณผ๋ฌผ ์ „์†ก

  7. View์—์„œ HTML ์ƒ์„ฑ

  8. Response๋กœ HTML ๊ฒฐ๊ณผ๋ฌผ๋กœ ์ „์†ก

ASP.NET Core์—์„œ์˜ MVP

์ƒ์„ฑ

  • ์ƒ์„ฑ์‹œ ๊ธฐ๋ณธ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ง€์›ํ•จ

  • Model, View, Controller ๊ฐ๊ฐ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์ƒ์„ฑ๋˜์–ด ์žˆ๊ณ  ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์Œ

  • ๊ฐ ์˜์—ญ์—์„œ ๊ตฌ์„ฑ์š”์†Œ๋กœ ๊ตฌํ˜„ํ•จ

  • ์ด๋ฅผ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ผ์šฐํŒ…(Routing)๊ณผ ์ปจํŠธ๋กค๋Ÿฌ ์•ก์…˜(Controller Action) ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•จ

๋ผ์šฐํŒ…(Routing)๊ณผ ์ปจํŠธ๋กค๋Ÿฌ ์•ก์…˜(Controller Action)์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์„ค๋ช…์€ ํ•ด๋‹น ํŽ˜์ด์ง€ ์ฐธ๊ณ 

WebAPI server ์™€ MVC

  • MVC ๋ฐฉ์‹์—์„œ V๋งŒ ๋น ์ง„ ๋ฐฉ์‹์œผ๋กœ ์ƒ๊ฐํ•˜๋ฉด ๋จ. VisualStudio์—์„œ MVC๋ฐฉ์‹์œผ๋กœ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑํ•˜๊ณ , V ๋ถ€๋ถ„๋งŒ ๊ฑฐ๋‘ฌ๋‚ด๊ณ  ์‚ฌ์šฉํ•ด๋„ ๋จ

  • V ๋Œ€์‹  JSON ๋ฐฉ์‹์œผ๋กœ ๋ณด๋‚ด์ฃผ๋ฉด ๋จ

์ฐธ๊ณ ๋ฌธํ—Œ

PreviousHostNextMiddleware

Last updated 1 year ago

MDN Web docs
์œ„ํ‚คํ”ผ๋””์•„