Spring - MVC 패턴

흑이·2022년 7월 6일
0

MVC 패턴

디자인 패턴 중 하나인 MVC 패턴은 Model, View, Controller의 줄임말로 어플리케이션을 구성할 때 세가지의 역할로 구분한 패턴을 의미

사용자 인터페이스로부터 비즈니스 로직을 분리하여 서로 영향 없이 쉽게 고칠 수 있는 설계가 가능

모든 사용자들의 요청은 Controller로 받게 되며, 어떻게 처리할지 결정

Model - 데이터베이스를 처리하는 영역, (CRUD)
View - 모델의 업데이트 내용을 View로 처리


Controller

  • 모델(Model)과 뷰(View)사이에서 브릿지 역할을 수행
  • 앱의 사용자로부터 입력에 대한 응답으로 모델 및 뷰를 업데이트 하는 로직을 포함
  • 사용자의 요청은 모두 컨트롤러를 통해 진행되어야 함
  • 컨트롤러로 들어온 요청은 어떻게 처리할지 결정하여 모델로 요청을 전달 함

예) 쇼핑몰에서 상품을 검색ㅎ면 그 키워드를 컨트롤러가 받아 모델과 뷰에 적절하게 입력을 처리하여 전달함


Model

  • 데이터를 처리하는 영역
  • 데이터베이스와 연동을 위한 DAO(Data Access Object)와 데이터의 구조를 표현하는 DO(Data Object)로 구성됨
  • 상황에 맞게 DAO, DO는 다를수도

예) 검색을 위한 키워드가 넘어오면 데이터베이스에서 관련된 상품의 데이터를 받아 뷰에 전달


View

  • 데이터를 보여주는 화면 자체의 영역을 뜻함
  • 사용자 인터페이스(UI)요소들이 여기에 포함되며, 데이터를 각 요소에 배치함
  • 뷰에서는 별도의 데이터를 보관하지 않음

예) 검색 결과를 보여주기 위해 모델에서 결과 상품 리스트 데이터를 받음


MVC 패턴의 특징

  • 어플리케이션의 역할을 세 구간으로 나누어 설계함으로써 서로 간의 의존성이 낮아짐
  • 각 영역이 독립적으로 구성되어 개발자 간 분업 및 협업이 원활해짐
  • 한 영역을 업데이트 하더라도 다른 곳에 영향을 주지 않음

0개의 댓글