MVC 패턴이란

안성희·2025년 8월 26일
소프트웨어 개발에서 가장 널리 사용되는 아키텍처 디자인 패턴 중 하나
애플리케이션을 세 개의 주요 구성 요소로 분리하여 개발하고 유지보수를 용이하게 만드는 방법론

세 가지 구성 요소

Model

데이터와 비즈니스 로직을 처리하는 부분
데이터베이스와의 상호작용 및 데이터 관리를 담당

View

사용자 인터페이스를 담당하는 부분
사용자가 보는 화면과 정보 표시를 처리

Controller

Model과 View 사이의 중재자 역할
사용자의 입력을 받아 적절한 Model과 View를 연결해주는 역할

장점

모듈성과 재사용성

MVC 패턴은 애플리케이션을 여러 부분으로 분리
재사용과 유지보수를 쉽게 만듬
각 구성 요소가 독립적으로 개발되고 수정될 수 있어 개발 효율성이 크게 향상

확장성

인터페이스 복잡성이 증가하더라도 프로그래머들이 모델을 잘 구조화할 수 있도록 도와준다.

표준화

개발이 표준화되고 확장성이 뛰어난 구현을 통해 더 많은 효율성을 제공

실행 로직

  1. 사용자 요청
    • 사용자가 웹 브라우저나 애플리케이션에서 특정 동작을 요청
  2. Controller 처리
    • Controller가 사용자의 요청을 가장 먼저 처리
    • 요청을 분석하고 어떤 비즈니스 로직이 필요한지 판단
    • 필요한 데이터 처리를 위해 적절한 Model을 호출
  3. Model 실행
    • Model이 데이터베이스 조회, 계산, 비즈니스 로직 처리 등을 수행
    • 처리된 결과 데이터를 Controller에게 반환
  4. View 렌더링
    • Controller가 Model로부터 받은 데이터를 View에 전달
    • 처리된 결과 데이터를 Controller에게 반환
  5. 응답 반환
    • 완성된 화면이 사용자에게 전달
profile
무재다능 개발자

3개의 댓글

comment-user-thumbnail
2025년 8월 27일

장점의 확작성 측면에서 인터페이스 복잡성이 증가한다는 설명에서 구체적으로 어떤 복잡성이 증가하는지 예가 있을까요?

1개의 답글