Computer Science/CS 스터디

MVC 패턴이란? (Modal-View-Controller)

sujii 2023. 3. 15. 17:59
반응형

MVC 패턴이란?


MVC란 Modal-View-Controller의 약자로, 애플리케이션을 세 가지 역할로 구분한 개발 방법론이다.
이 패턴을 성공적으로 사용하면, 사용자 인터페이스로부터 비즈니스 로직을 분리하여 애플리케이션의 시각적 요소나 그 이면에서 실행되는 비즈니스 로직을 서로 영향 없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있게 된다.

  • Modal -  애플리케이션의 정보(데이터)
  • View - 텍스트, 체크박스, 항목 등과 같은 사용자 인터페이스 요소
  • Controller - 데이터와 비즈니스 로직 사이의 상호동작을 관리

 

MVC 구조에서의 입력은 모두 Controller에서 발생하게 되며, 관리되게 되는 구조이다.

이벤트가 발생하면 Control에 의해 각 모듈의 정의와 View의 사용 용도가 달라지게 된다.

사용자가 Controll를 조작하면 Controller는 Modal를 통해서 데이터를 가져오고 그 정보를 바탕으로 시각적인 표현을 담당하는 View를 제어해서 사용자에게 전달하는 과정이다.

 

 

 

MVC의 장단점

장점

  • Modal과 View가 분리됨
  • Modal의 비종속성으로 재사용이 가능함
  • 구현하기 가장 쉽고 단순함
  • 개발자라면 누구나 쉽게 파악 가능함

단점

  • Modal과 View 사이에 의존성이 발생함
  • 스파게티 코드가 될 가능성이 높음
  • 로직이 복잡해질수록 유지보수가 힘들어짐

 

자신이 개발하는 어플리케이션의 상황에 맞춰서 맞는 디자인 패턴을 사용하면 된다.

 

 

Web과 MVC의 상호작용

  1. 사용자가 웹 페이지에 접속한다.
  2. Controller는 사용자가 요청한 웹 페이지를 서비스하기 위해 모델을 호출한다.
  3. Modal은 데이터베이스나 파일과 같은 데이터 소스를 제어한 후에 그 결과를 리턴한다.
  4. Controller는 Modal이 리턴한 결과를 View에 반영한다.
  5. 데이터가 반영된 View를 최종적으로 사용자에게 보여준다.