본문 바로가기
TIL&WIL

250224 TIL - MVC 패턴

by 나노다 2025. 2. 24.

MVC 패턴

프로그래밍 디자인 패턴의 일종으로, 애플리케이션을 모델, 뷰, 컨트롤러의 세 컴포넌트로 구분해 구현하고 관리하는 것

 

모델 Model

"플레이어의 HP 데이터를 보관하는 모듈"

  • 데이터 자체 그 이상 그 이하도 아님
  • 다른 두 컴포넌트와 직접적으로 관계 맺지 않음 (= 모델에는 뷰나 컨트롤러와 관련된 코드가 있어선 안 됨)
  • 대신 이벤트 등을 통해 느슨하게 연결돼있음 (모델의 데이터가 변경되는 이벤트 발생 -> 뷰에서 리스너가 감지)

뷰 View

"플레이어의 스테이터스 UI를 담당하는 모듈"

  • 데이터를 사용자에게 보여주는 것 그 이상 그 이하도 아님
  • 다른 두 컴포넌트와 직접적으로 관계 맺지 않음 (= 뷰에는 모델이나 컨트롤러와 관련된 코드가 있어선 안 됨)

컨트롤러 Controller

"사용자의 스텟 포인트 분배에 따른 스텟 데이터 상승 로직을 담당하는 모듈"

  • 로직 자체, 다른 두 컴포넌트와 직접적으로 관계 맺음
  • 사용자가 뷰와 상호작용한 결과를 처리해 모델의 데이터를 조작함

 

특징

  • 팀원 특성에 맞는 적절한 업무 분담 가능
  • 단위 테스트 시 문제 지점 파악 용이
  • 큰 규모의 복잡한 애플리케이션 개발에 적합

 

"프로젝트에 패턴을 강제로 적용하지 마세요"