본문 바로가기

웹 개발/ASP .NET

[ASP.NET MVC5] MVC 패턴과 샘플 프로젝트

MVC(Model-View-Controller) 패턴은 응용프로그램을 세 가지 주요 부분으로 나눠 관리하는 소프트웨어 디자인 패턴이다. 이 패턴은 **관심사의 분리(Separation of Concerns)**를 통해 유지보수성과 확장성을 높이는 데 중점을 둔다.

 

MVC 패턴의 구성 요소


  1. 모델(Model)
    • 사용자가 작업할 데이터를 담거나 표현한다.
    • 비즈니스 로직과 데이터 접근 계층을 포함한다.
  2. 뷰(View)
    • 모델의 특정 부분을 사용자 인터페이스로 렌더링하는 데 사용된다.
    • 데이터를 화면에 표시하며, 사용자에게 전달될 정보만을 처리한다.
  3. 컨트롤러(Controller)
    • 전달받은 요청을 처리하고, 필요한 모델을 이용해 작업을 수행한다.
    • 처리 후 사용자에게 렌더링할 적절한 뷰를 선택한다.

 

관심사의 분리


MVC 패턴의 핵심은 각 역할을 명확히 분리하는 것이다.

  • 모델은 데이터를 조작하는 로직만 담당한다.
  • 는 데이터를 출력하는 로직만 담당한다.
  • 컨트롤러는 사용자의 요청과 입력을 처리한다.

이렇게 각 부분을 명확히 구분하면, 응용프로그램의 규모가 커지더라도 코드 간의 의존성이 낮아지고 유지보수와 확장이 용이해진다.

 

ASP.NET에서 MVC 구현


ASP.NET은 MVC 패턴을 간단하게 구현할 수 있는 템플릿과 도구를 제공한다. 샘플 프로젝트를 생성하며 MVC 패턴을 실습해보자.

 

  1. Visual Studio에서 새 프로젝트 생성
    • ASP.NET Web Application 템플릿 선택
    • MVC 템플릿으로 프로젝트 생성
  2. 샘플 컨트롤러 작성

HomeController.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace LanguageReatures.Controllers
{
    public class HomeController : Controller
    {
        // GET: Home
        public string Index()
        {
            return "Navigate to a URL to show an example";
        }
    }
}

 

Result.cshtml

@model String

@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Result</title>
</head>

<body>
    <div>
        @Model
    </div>
</body>
</html>

 

다음 포스팅에서 계속