Spring 프레임워크에서 주로 사용되는 MVC 구조는 익숙하지만, 프론트엔드나 모바일 개발 환경에서는 MVP, MVVM 구조도 자주 등장한다. 각 구조는 어떤 차이를 가지고 있고, 어떤 상황에서 각 구조를 사용하는걸까? 1. MVC (Model-View-Controller) 패턴애플리케이션의 구성요소를 Model, View, Controller 3가지 역할로 구분하여 개발 프로세스에서 각각의 구성 요소에만 집중해서 개발할 수 있다. 구성 요소(1) 모델(Model)모델은 애플리케이션의 데이터인 데이터베이스, 상수, 변수 등을 뜻한다. 뷰에서 데이터를 생성하거나 수정하면 컨트롤러를 통해 모델을 생성하거나 갱신한다. (2) 뷰(View)뷰는 사용자에게 보여지는 인터페이스 요소, 화면을 뜻한다. 모델이 가지..