MVC 패턴

형진·2022년 5월 4일
0

node

목록 보기
5/8

MVC 패턴이란?

MVC란, Model View Controller의 약자로 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴이며 애플리케이션을 세가지 역할로 구분한 개발 방법론이다.

  • Model: 데이터를 가지고 있거나 데이터베이스로부터 받아온 값들을 Controller와 교류한다.
  • View: 사용자에게 보여지는 부분(UI)이고 Controller와 교류한다.
  • Controller: View와 Model에게서 액션과 인풋값을 받고 가공하여 교류한다.
  • 이렇게 각자의 역할을 분리함으로서 유지 보수를 용이하게 하고 프로그램의 확장성과 유연성을 높일 수 있다.

장점

  • 애플리케이션 확장성, 유연성증가
  • 각자의 목적에 맞는 분리된 코드를 통해 중복 최소화

단점

  • View와 Model의 의존성으로 인해 구조가 복잡해질 수 있다.
  • Model은 다수의 View를 가질 수 있고 반대로 Controller를 통해 한 View에 연결되는 Model도 여러개가 될 수 있다.
  • 이런 관계는 View와 Model의 의존성을 높이게 된다. 좋은 설계로 의존성을 줄일 수는 있겠지만
    Controller에 다수의 Model과 View가 연결되는 복잡한 상황이 유발 되는 상황을 피하기는 쉽지않다.
  • 결국, MVC 규모가 비대해지고 복잡해지며 새 기능을 추가할 때마다 의존성을 일일이 해결해야 하는 상황이 오게 된다.
    이런 형태의 MVC를 MassiveViewController라고 부른다. MVC의 한계를 표현하는 용어이기도 하다.
profile
느낀대로 적자

0개의 댓글