IT지식창고
MVC
데사몽굴
2023. 12. 13. 20:20
# 개발자가 되기 위해 꼭 알아야 하는 IT용어
1. MVC(Model-View-Controller)의 정의
- 개발을 세 개의 영역으로 분할하고 각 요소에 고유의 역할을 부여하는 방식
- M(Model)은 데이터 영역, V(View)는 사용자에게 보여지는 UI영역, C(Controller)는 비즈니스 로직 처리 영역
2. MVC 알아보기
2.1 각 컴포넌트의 역할
2.1.1 모델(Model)
- 모델은 앱이 무엇을 할 것인지 정의하는 역할을 수행
- 데이터 저장소와 직접 연동하여 데이터를 어떻게 처리할지 결정
- 모델을 통해서 나온 결과 값은 컨트롤러 또는 뷰에 제공2.1.2 뷰(View)
- 뷰는 모델로부터 받아온 데이터와 사용자가 원하는 결과값을 화면(UI)으로 보여주는 역할
- 뷰는 출력하는 역할만 수행
- 데이터를 저장하고 관리하는 클래스, 변수, 인스턴스 변수가 필요없음2.1.3 컨트롤러(Controller)
- 컨트롤러는 모델과 뷰 사이를 연결하는 다리 역할
- 프로그램의 작동 순서나 모델에게 데이터를 어떻게 처리해야 할지 지시하고, 받아온 결과값을 뷰에게 전달하는 역할
- 사용자의 요청을 직접 받고 모델과 뷰를 업데이트하는 로직이 포함
3. MVC의 한계
- 다수의 모델 또는 뷰가 하나의 컨트롤러에서 수행되기 때문에 모델과 뷰는 완전히 분리되기가 쉽지 않음
- 프로그램의 구조가 커질수록 모델과 뷰가 복잡하게 연결되는 상황 발생