MVC 패턴

마자나다·2023년 12월 1일

Spring

목록 보기
4/9

MVC패턴이란

  • MVC패턴은 디자인 패턴 중 하나이다. 어플리케이션을 3가지 역할로 구분한 개방 방법론이다
  • 3가지는 Model, View, Controller로 나누어져 있다.
  • 간단하게 말해 사용자가 Controller를 조작하면 Model을 통해서 데이터를 가져오고, 데이터를 바탕으로 시각적인 표현을 View가 사용자에게 보인다.

Model

  • 정보 데이터를 가지고 있다. 내부 상태에 대한 정보, 모델을 표현하는 이름 속성 등을 가질 수 있다.
  • 모델에 상태 변화가 있을 대, 컨트롤러와 뷰가 이를 통보한다.

Model의 규칙

  1. 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야한다.
  2. 뷰나 컨트롤러에 대해서 어떤 정보도 알지 말아야 한다.
  3. 변경이 일어나면, 변경 통지에 대한 처리 방법을 구현해야 한다. : 정보 변경이 된다면, 이벤트를 발생시켜 누군가에게 전달해야하며, 수신할 수 있는 처리 방법을 구현해야한다. 모델은 재사용이 가능해야 한다.

View

  • input 텍스트, 체크항목 등 사용자 인터페이스 요소를 나타낸다. 사용자의 데이터 및 객체의 입력, 그리고 원하는 데이터를 보여주는 출력을 담당한다.

View의 규칙

  1. 모델이 가지고 있는 정보를 따로 저장해서는 안된다. : model이 준 정보를 view내부에 저장해서는 안된다. 단순히 표기만 해야한다.
  2. 모델이나 컨트롤러에 대해서 어떤 정보도 알지 말아야한다.
  3. 변경이 일어나면, 변경 통지에 대한 처리 방법을 구현해야 한다.

Controller

사용자의 요청에 따라 데이터를 Model에게 요청하고, 데이터를 view에게 반영해서 사용자에게 알려준다. model과 view를 잇는 다리 역할이다.

Controller의 규칙

  1. 모델이나 뷰에 대해서 알고 있어야한다. : 뷰와 모델은 서로 모르기 때문에 그 중간의 역할로 컨트롤러는 둘다 알 고 있어야한다.
  2. 모델이나 뷰의 변경을 모니터링 한다. : 변경 통지를 받으면 각각의 구성요소에게 통지해야한다.

MVC 패턴을 사용해야하는 이유

  1. 비즈니스 로직과 UI로직을 분리하여 유지보수를 독립적으로 수행할 수 있다.
  2. Model과 View가 다른 컴포넌트들과 종속되자 않아, 확장성, 유연성에 굉장히 유리하다.
  3. 중복코딩의 문제점을 해결할 수 있다.

출처 및 참고

https://ss-o.tistory.com/160

profile
우왕좌왕 개발

0개의 댓글