개념) MVC패턴

dong.___.ju·2025년 4월 4일

개념

목록 보기
1/3

1주차 MVC패턴

이번 주차엔 MVC패턴에 대해 학습한 내용을 정리한것을 포스팅한다.

MVC는
디자인패턴 중 하나이며.MVC 는 Model, View, Controller이다. 하나의 애플리케이션, 프로젝트를 구성할 때 그 구성요소를 세가지의 역할로 구분한 패턴이다.

여기서 디자인 패턴이란 프로그램이나 특정 시스템을 개발하는 과정에서 발생했던 문제점들을 분석하고 정리하여, 상황에 따라 간편하게 적용할 수 있는 형태로 만든 일반적인 규약이다. 이를 통해 개발자는 동일한 문제를 반복적으로 해결하는 대신, 검증된 방법론을 활용하여 효율적이고 일관된 방식으로 문제를 처리할 수 있다.

MVC 패턴은 소프트웨어 개발에서 애플리케이션을 모델, , 컨트롤러라는 세 가지 구성 요소로 분리하여 구조화하는 설계 패턴이다. 이 패턴은 관심사의 분리원칙을 따르며, 애플리케이션의 복잡성을 줄이고 유지보수성을 향상시키는 데 도움을 준다.

구성요소

모델

  • 데이터베이스와 직접 상호작용하며 데이터를 추가, 수정, 삭제, 조회한다.
  • 컨트롤러의 요청에 따라 데이터를 처리하고 결과를 반환한다.
  • 뷰나 컨트롤러와 독립적으로 동작하며, 데이터 변경 사항을 반영한다.

사용 예) 블로그 애플리케이션에서 게시글을 관리하는 클래스가 모델에 해당된다.

  • 사용자 인터페이스(UI)를 담당하며 데이터를 시각적으로 표현한다.
  • 모델에서 제공된 데이터를 뷰가 화면에 표시한다.
  • HTML, CSS, JavaScript를 사용하여 사용자와 상호작용할 수 있는 UI를 생성한다.
  • 데이터 로직을 포함하지 않고, 단순히 데이터를 렌더링한다.

사용 예) 게시글 제목과 내용을 HTML로 표시하는 웹 페이지.

컨트롤러

  • 모델과 뷰 사이의 중재자 역할을 한다.
  • 사용자의 요청(예: 버튼 클릭)을 처리하고 적절한 모델과 상호작용 한다.
  • 모델에서 데이터를 가져와 뷰에 전달하거나 데이터를 업데이트한다.

사용 예) 사용자가 특정 게시글을 조회하면 해당 데이터를 가져와 뷰에 전달하는 컨트롤러.


작동 방식

  1. 사용자가 브라우저에서 요청을 보낸다(예: 버튼 클릭).
  2. 컨트롤러가 요청을 처리하고 필요한 데이터를 모델에서 가져온다.
  3. 모델은 데이터베이스와 상호작용하여 요청된 데이터를 컨트롤러에 반환한다.
  4. 컨트롤러는 데이터를 가공하여 에게 전달한다.
  5. 뷰는 데이터를 렌더링하여 사용자에게 결과를 표시합니다.

장점

  • 각 구성 요소가 독립적으로 동작하므로 유지보수와 확장이 용이하고.

  • 각 구성 요소가 분리되어 있어 독립적으로 테스트 할 수 있다.


MVC 패턴의 예시

  • 웹 애플리케이션: ASP.NET Core MVC, Spring MVC
  • 프론트엔드 프레임워크: AngularJS, React
  • 모바일 앱 개발: iOS의 UIKit

MVC는 복잡한 애플리케이션을 구조적으로 관리하고 효율적인 개발 환경을 제공한다

2개의 댓글

comment-user-thumbnail
2025년 4월 5일

사용예시까지 적어주셔서 알기 편해요! 최고입니다

답글 달기
comment-user-thumbnail
2025년 4월 5일

예시가 자세히 적혀있어서 좋아요!

답글 달기