MVC(Model-View-Controller)

김루루룽·2022년 7월 18일
0

blog✏️

목록 보기
11/61

MVC란?

사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴. 더 나은 업무의 분리와 향상된 관리를 제공한다.

예시

  • 쇼핑 리스트 앱이 있다고 가정하자.
    여기서 MVC 패턴을 살펴볼 것이다.

Model

데이터와 비즈니스 로직을 관리

정보들의 가공을 책임지는 담당. 포함해야할 데이터를 정의한다.
상태가 변경되면 뷰에게 알리며 가끔은 컨트롤러에게 알리기도 한다.
쇼핑리스트에 포함해야하는 데이터 품목, 가격 등 항목이 무엇인지 지정.

View

레이아웃과 화면을 처리

데이터를 보여주는 방식을 정의. 사용자에게 보여지는 화면이다.
표시할 데이터를 모델로 부터 받는다

Controller

명령을 모델과 뷰 부분으로 라우팅(데이터 보내기)

사용자로부터 입력에 대한 응답으로 모델, 뷰를 업데이트하는 로직을 포함한다.
쇼핑 리스트의 항목을 추가하거나 제거 할 수 있는 로직을 처리한 다음, 업데이트된 데이터를 뷰로 전송한다.

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

  • 비즈니스 로직과 UI로직을 분리하여 유지 보수에 편하다
  • 중복된 코드를 하나로 사용 가능하다.
  • model과 view가 다른 컴포넌트들에 종속되지 않아 어플리케이션의 확장성, 유연성에 유리하다.

MVC 패턴이 지켜지는 5가지 규칙

  1. Model은 Controller와 View에 의존하지 않아야한다.
  2. View는 Model에만 의존해야하고, Controller에 의존하면 안된다.
  3. View가 Model로 부터 데이터를 받을 때는, 사용자마다 다르게 보여주어야하는 데이터만 받아야한다.
  4. Controller는 Model과 View에 의전해도 된다.
  5. View가 Model로부터 데이터를 받을 때, 반드시 Controller를 통해 받아야 한다.


출처
mvc 용어 정리 :https://developer.mozilla.org/ko/docs/Glossary/MVC
mvc 패턴을 사용해야하는 이유 : https://cocoon1787.tistory.com/733
MVC 패턴이 지켜지는 5가지 규칙 :
https://hyeon9mak.github.io/5-rules-for-MVC-pattern/

profile
1day 1push..plz

0개의 댓글