MVC(Model-View-Controller) 패턴은 응용프로그램을 세 가지 주요 부분으로 나눠 관리하는 소프트웨어 디자인 패턴이다. 이 패턴은 **관심사의 분리(Separation of Concerns)**를 통해 유지보수성과 확장성을 높이는 데 중점을 둔다.
MVC 패턴의 구성 요소
- 모델(Model)
- 사용자가 작업할 데이터를 담거나 표현한다.
- 비즈니스 로직과 데이터 접근 계층을 포함한다.
- 뷰(View)
- 모델의 특정 부분을 사용자 인터페이스로 렌더링하는 데 사용된다.
- 데이터를 화면에 표시하며, 사용자에게 전달될 정보만을 처리한다.
- 컨트롤러(Controller)
- 전달받은 요청을 처리하고, 필요한 모델을 이용해 작업을 수행한다.
- 처리 후 사용자에게 렌더링할 적절한 뷰를 선택한다.
관심사의 분리
MVC 패턴의 핵심은 각 역할을 명확히 분리하는 것이다.
- 모델은 데이터를 조작하는 로직만 담당한다.
- 뷰는 데이터를 출력하는 로직만 담당한다.
- 컨트롤러는 사용자의 요청과 입력을 처리한다.
이렇게 각 부분을 명확히 구분하면, 응용프로그램의 규모가 커지더라도 코드 간의 의존성이 낮아지고 유지보수와 확장이 용이해진다.
ASP.NET에서 MVC 구현
ASP.NET은 MVC 패턴을 간단하게 구현할 수 있는 템플릿과 도구를 제공한다. 샘플 프로젝트를 생성하며 MVC 패턴을 실습해보자.
- Visual Studio에서 새 프로젝트 생성
- ASP.NET Web Application 템플릿 선택
- MVC 템플릿으로 프로젝트 생성
- 샘플 컨트롤러 작성
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>
다음 포스팅에서 계속
'웹 개발 > ASP .NET' 카테고리의 다른 글
[ASP.NET MVC5] 확장 메서드 (0) | 2024.11.25 |
---|---|
[ASP.NET MVC5] 자동 구현 속성 (0) | 2024.11.25 |
[ASP.NET MVC5] 동적 출력 (0) | 2024.11.25 |
[ASP.NET MVC5] 웹 페이지 렌더하기 (0) | 2024.11.25 |
[ASP.NET MVC5] 프로젝트 생성과 Hello World 출력하기 (0) | 2024.11.25 |