MVC 패턴

김대연·2020년 3월 21일
0

Design Pattern

목록 보기
1/1

기존의 웹 프레임워크는 정보를 담당하는 Model, 화면을 담당하는 View, 구동을 담당하는 Controller로 나눈 MVC 패턴으로 분리하여 관리했다.

출처: http://aalmiray.github.io/griffon-patterns/
  • 모델은 모델의 상태에 변화가 있을 때 컨트롤러와 뷰에 이를 통보한다. 이와 같은 통보를 통해서 뷰는 최신의 결과를 보여줄 수 있고, 컨트롤러는 모델의 변화에 따른 적용 가능한 명령을 추가·제거·수정할 수 있다. 어떤 MVC 구현에서는 통보 대신 뷰나 컨트롤러가 직접 모델의 상태를 읽어 오기도 한다.
  • 뷰는 사용자가 볼 결과물을 생성하기 위해 모델로부터 정보를 얻어 온다.
  • 컨트롤러는 모델에 명령을 보냄으로써 모델의 상태를 변경할 수 있다. (예: 워드 프로세서에서 문서를 편집하는 것) 또, 컨트롤러가 관련된 뷰에 명령을 보냄으로써 모델의 표시 방법을 바꿀 수 있다. (문서를 스크롤하는 것)

MVC 패턴은 모델, 컨트롤러, 뷰가 서로 분리되어 역할을 담당하고 처리해서 효율적이다. 다만 구조의 스케일이 커질수록 서로간의 높은 의존성으로 인해 수정이 힘들어지고 그로 인한 여파(side effect)가 생긴다.

참조

https://medium.com/@jang.wangsu/%EB%94%94%EC%9E%90%EC%9D%B8%ED%8C%A8%ED%84%B4-mvc-%ED%8C%A8%ED%84%B4%EC%9D%B4%EB%9E%80-1d74fac6e256

0개의 댓글