MVC

sky·2021년 1월 15일
0
post-thumbnail

MVC란?

Model-View-Controller 의 준말이며, 유지보수성이나 유연성이 높은 아키텍처 디자인 패턴이다.

디자인 패턴이란?

소프트웨어를 설계할 때 특정 맥락에서 자주 발생하는 고질적인 문제들이 다시 발생할 때 재사용할 수 있도록 만든 방법이다.

디자인 패턴을 사용하면 좋은 점?

  • 이미 정해진 방식의 패턴을 사용하므로 개발자 간 의사소통이 원활하다.
  • 소프트웨어 구조 파악이 용이하다.
  • 재사용을 통해 개발 시간을 단축할 수 있다.
  • 설계를 변경할 경우 비교적 유연하게 대처할 수 있다.

MVC 패턴을 좀 더 알아보기

유저가 컨트롤러에 요청하면 모델에서 해당하는 데이터를 처리하여 컨트롤러로 보내고, 컨트롤러는 유저가 볼 수 있도록 뷰를 통해 출력한다.
유저가 보는 화면은 뷰 화면이지만, 그 안에는 컨트롤러와 모델도 함께 일을 하고 있다.

Model

프로그램이 목표하는 작업을 원활히 수행하기 위해 필요한 물리적 개체, 규칙, 작업 등의 요소들을 구분하는 역할을 한다.

  • 데이터 담당
  • 데이터를 다루는 로직에서 모델에 모아, 데이터와 뷰를 격리시킴
  • 뷰나 컨트롤러에 대한 정보 X (데이터를 참조할 수 없다)
  • 코드 관리 편리성 ↑
  • Model을 사용할 경우 이후 데이터베이스 교체가 용이

View

사용자가 보이는 화면에 입출력 과정 및 결과를 보여주는 역할을 한다.
입출력의 순서나 데이터 양식은 컨트롤러에 종속되어 결정되므로, View에서는 도메인 모델의 상태를 변환하거나 렌더링을 한다.

  • 화면 출력 담당(사용자가 보는 페이지)
  • UI와 관련된 코드
  • 모델이나 컨트롤러에 대한 정보 X
  • 클라이언트 측인 html/css/javascript 들을 모아둔 컨테이너

Controller

Model과 View를 중간에서 제어하는 역할을 하는 동시에 도메인 객체들의 조합을 통해 프로그램 작동 순서나 방식을 제어한다.

  • Model과 View 제어 담당
  • 사용자가 접근한 URL에 따라 사용자 요청사항 파악
  • 요청에 맞는 데이터를 Model에 의뢰하며, 데이터를 View에 반영하여 사용자에게 알려준다.
  • 모델이나 뷰에 대한 정보 O

협업할 때엔 MVC와 같은 디자인 패턴을 사용하는 쪽이 개발능률을 올릴 수 있으므로 MVC 패턴에 대해 알아보았다.

참조 : https://blog.naver.com/jhc9639/220967034588

profile
keep going

0개의 댓글