[디자인패턴]MVC 패턴이란

Dex·2022년 12월 12일
0

디자인패턴

목록 보기
1/1

MVC 패턴이란?

  • 모델-뷰-컨트롤러(Model-View-Controller,MVC) 구조로 이루어져 있는 소프트웨어 디자인 패턴이다.
  • MVC 패턴을 사용한다면 사용자 인터페이스로부터 비지니스 로직을 분리하여 애플리케이션의 시각적 요소나 그 이면에서 실행되는 비지니스 로직을 서로 영향 없이 쉽게 고칠수 있는 애플리케이션을 만들수있다.
  • 모델은 애플리케이션의 정보(데이터)를 나타낸다.
  • 뷰는 텍스트, 체크박스 항목 등과 같은 사용자 인터페이스 요소를 나타낸다.
  • 컨트롤러는 데이터와 비즈니스 로직 사이의 상호동작을 관리한다.

Model(모델)

  • 모델은 데이터와 애플리케이션이 무엇을 할 것인지를 정의하는 부분으로 내부 비지니스 로직을 처리하기 위한 역할을 한다.
  • 모델은 컨트롤러가 호출을 하면 DB와 연동하여 사용자의 입출력 데이터를 다루는 일과 같은 데이터와 연관된 비즈니스 로직을 처리하는 역할을 한다.
  • DB와 연동 되기 때문에 데이터 추출, 저장, 삭제, 업데이트 같은 역할도 한다.

모델의 규칙

  1. 사용자가 편집하기를 원하는 모든 데이터를 가지고 있어야 한다.
  2. View나 Controller에 대해서 어떤 정보도 알지 말아야 한다.
  3. 변경이 일어나면, 변경 통지에 대한 처리 방법을 구현해야만 한다.

Veiw(뷰)

  • 뷰는 사용자에게 보여주는 UI(화면)을 말한다.
  • 사용자와 상호작용을 하며 Controller에서 받은 모델의 결과값을 화면으로 출력하는 일을 한다.
  • MVC에서는 여러개의 뷰가 존재할 수 있다.
  • 모델에서 받은 데이터는 별도로 저장하지 않습니다.

뷰의 규칙

  1. Model이 가지고 있는 정보를 따로 저장해서는 안됩니다.
  2. Model이나 Controller와 같이 다른 구성 요소들을 몰라야 합니다.
  3. 변경이 일어나면 변경 통지에 대한 처리방법을 구현해야만 합니다.

Controller(컨트롤러)

  • 컨트롤러는 모델과 뷰 사이를 이어주는 인터페이스 역할을 한다.
  • 모델이 데이터를 어떻게 처리할지 알려주는 역할을 한다.
  • 사용자로부터 뷰에 요청을 받아 해당 업무를 수행하는 모델을 호출하고 모델이 업무를 모두 수행하면 다시 결과를 뷰에게 전달합니다.

컨트롤러의 규칙

  1. Model이나 View에 대해서 알고 있어야 합니다.
  2. Model이나 View의 변경을 모니터링 해야 합니다.

MVC 패턴을 사용하는 이유?

  • 각자의 맡은바에만 집중할수 있게 코드를 기능별로 분리하여 가독성과 코드 재사용이 증가한다.
  • 기능별로 코드를 분리하였기때문에 개발 후에 유지보수성, 확장성, 유연성이 증가되어 모든 상황에 대해서 대처가 가능하다.

Reference
Blog
Blog

profile
성장하는 개발자

0개의 댓글