mvc패턴은 Model, View, Controller의 약자이다.
이 패턴이 필요한 예시로 만약 spring mybatis을 사용하여 back을 만들었고, front를 jsp로 만든 웹이 있다.
하지만 어느 순간 웹을 앱으로 만들어야 할 순간이 왔다. (하이브리드 앱으로 만들 수 있기도 하다.)
이러한 경우 이 디자인 패턴이 도움이 된다.
jsp로 만든 view를 java안드로이드, 플러터, 리엑트 네이티브 등으로 바꿀 수 있다.
그 이유는 model(back)과 view(front)를 controller로 분리하였기 때문이다.
또 간단한 이미지 처리 같은 작업은 model까지 갈 필요 없이 controller에서 처리하여 더 빠른 처리 속도를 보여준다.
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 |