개발일지/잡다한 IT지식

mvc디자인 패턴

자코린이 2022. 2. 8. 20:24

mvc패턴은 Model, View, Controller의 약자이다.

이 패턴이 필요한 예시로 만약 spring mybatis을 사용하여 back을 만들었고, front를 jsp로 만든 웹이 있다.

하지만 어느 순간 웹을 앱으로 만들어야 할 순간이 왔다. (하이브리드 앱으로 만들 수 있기도 하다.)

이러한 경우 이 디자인 패턴이 도움이 된다.

jsp로 만든 view를 java안드로이드, 플러터, 리엑트 네이티브 등으로 바꿀 수 있다. 

그 이유는 model(back)과 view(front)를 controller로 분리하였기 때문이다. 

또 간단한 이미지 처리 같은 작업은 model까지 갈 필요 없이 controller에서 처리하여 더 빠른 처리 속도를 보여준다.

https://developer.mozilla.org/ko/docs/Glossary/MVC

Model은 데이터를 직접 받아오는 back의 역할로 view에서 데이터를 요청하면 DB에서 데이터를 가져오는 작업을 한다. 그리고 데이터 변경 사항을 view에 일반적으로 알린다. 즉 데이터를 직접 처리하는 부분입니다.

Controller는 view와 model을 연결해주는 것으로 앱의 사용자로부터의 입력에 대한 응답으로 모델 및/또는 뷰를 업데이트하는 로직을 포함합니다. 즉 사용자의 입력을 처리하는 부분이다. 하지만 뷰를 직접 조작하지 않고 뷰를 선택하기만 한다.

View는 사용자가 보는 화면으로 사용자의 요청을 controller에게 보내줍니다. 

 

mvc패턴은 간단하여 많은 경우에 사용한다.

하지만 view와 model간의 종속성이 크다. 즉 유지보수에 어려움이 있다. 

'개발일지 > 잡다한 IT지식' 카테고리의 다른 글

chatGPT  (0) 2023.01.13
http multipart  (0) 2022.06.24
mvp 디자인 패턴  (0) 2022.02.12
동기적 처리와 비동기적 처리  (0) 2022.02.07
큐(queue)와 스택(stack)  (0) 2022.01.21