MVC 패턴

JYR00·2023년 4월 13일
0

스프링부트 강의

목록 보기
4/10

MVC (Model View Controller)

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

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

모든 사용자의 요청은 controller로 가고, controller에서는 어떻게 처리할 것인지 결정한 뒤 모델에 요청을 한다.(데이터베이스 담당) 업데이트된 요소를 view로 보여준다.



컨트롤러(Controller)

  • 모델(Model)과 뷰(View) 사이에서 브릿지 역할을 수행한다.

  • 앱의 사용자로부터 입력에 대한 응답으로 모델 및 뷰를 업데이트하는 로직을 포함하고 있다.

  • 사용자의 요청은 모두 컨트롤러를 통해서 진행되어야 한다.

  • 컨트롤러로 들어온 요청은 어떻게 처리할지 결정하여 모델로 요청을 전달한다.



모델(Model)

  • 데이터를 처리하는 영역
  • 데이터베이스와 연동을 위한 DAO(Data Access Object)와 데이터의 구조를 표현하는 DO(Data Object)로 구성됨
    -> DAO란 Database의 data에 access하는 트랜잭션 객체.
    -> DO란 데이터베이스의 데이터(일반적으로 Row)를 객체화한 클래스 구조.


뷰(View)

  • 데이터를 보여주는 화면 자체의 영역을 뜻함

  • 사용자 인터페이스(ui) 요소들이 여기에 포함되며, 데이터를 각 요소에 배치함

  • 뷰에서는 별도의 데이터를 보관하지 않음




MVC 패턴의 특징

  • 어플리케이션의 역할을 세 구간으로 나누어 설계함으로써 서로 간의 의존성이 낮아짐

  • 각 영역이 독립적으로 구성되어 개발자 간 분업 및 협업이 원활해짐

  • 한 영역을 업데이트 하더라도 다른 곳에 영향을 주지 않음

  • 프로젝트의 역할이 거대해질수록 컨트롤러의 사이즈가 커지는 경우가 발생할 수 있다.

0개의 댓글