WEB

[WEB] MVC 패턴

2juhyunju 2022. 7. 18. 23:34

MVC 패턴 이란?

MVC패턴은 Model-View-Controller의 약자로 개발할 때 사용되는 디자인 패턴중 하나이다.

 

Model-View-Controller로 구성되며 Client와 Server의 로직을 분리하여 Server에서의 수정이 Client의 화면에 영향이 없도록 설계하는 것이 목적이다. 


Model

  • Model은 데이터 관리 및 비즈니스 로직을 처리하는 부분이다.
  • Controller가 호출 할 때 요청에 맞는 역할을 수행한다.
  • View, Controler의 정보가 없다 단순히 요청에 의한 로직만 처리하고 이 결과를 어디서 어떻게 사용하는지 전혀 상관하지 않는다.

View

  • View는 비즈니스 로직 처리 결과값을 사용자에게 화면으로 출력한다.
  • 사용자에게 보여지는 방식을 정의하며 데이터를 모델로부터 받는다.
  • 즉 유저 인테페이스라고 생각할 수 있다.

Controller

  • Model과 View를 연결시켜주는 역할이다.
  • 프로그램의 작동 순서나 방식을 제어한다.
  • Model이 데이터를 어떻게 처리할지 알려준다.

MVC 장점

  • 코드의 가독성이 좋아지고 유지보수가 용이하다.
  • 기능별로 파일을 나누기 때문에 코드 재사용이 증가한다.
  • 유연하고 확장하기 쉽다.

MVC 단점

  • View와 Model 사이에 의존성이 높아 완벽한 분리가 어렵다.
  • 설계 시간이 비교적 오래걸린다.

MVC 패턴을 사용하기 전에는 하나의 파일에 온갖 코드들이 정의되어 있어 어떤 함수가 어떤 기능을 하는지 코드의 가독성도 떨어졌고 유지보수하기에도 복잡했다. 하지만 MVC 패턴을 사용하게 되면 기능별로 역할에 따라 코드를 분리 해서 사용하기 때문에 유지보수하기에도 좋고 프로그램의 확장성과 유연성을 높이기 좋다.