MVC(모델-뷰-컨트롤러)는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데
널리 사용되는 소프트웨어 디자인 패턴이다.
모델은 데이터와 비즈니스 로직을 관리하고,
뷰는 레이아웃과 화면을 처리한다.
컨트롤러는 명령을 모델과 뷰 부분으로 라우팅한다.
즉 사용자가 컨트롤러를 조작하면 컨트롤러는 모델을 통해 데이터를 가져오고,
해당 데이터를 바탕으로 뷰를 통해 시각적 표현을 처리하고 이를 사용자에게 제공한다.
MVC 패턴은 비즈니스 로직과 UI로직을 분리하여 유지 보수를 독립적으로 수행 가능케하고,
모델과 뷰가 다른 컴포넌트에 종속되지 않아 변경에 유리하다.
이런 관심사 분리는 개발자들에게 효율적인 업무와 관리 환경을 제공하게 된다.
모델은 앱이 포함해야할 데이터가 무엇인지 정의한다. 모델의 상태가 변화할 때,
이를 컨트롤러와 뷰에 전달한다. 이를 통해 뷰는 최신의 결과를 보여줄 수 있고,
컨트롤러는 모델의 변화에 따라 적용 가능한 명령을 추가, 제거, 수정할 수 있다.
뷰는 앱의 데잍를 보여주는 방식을 정의한다. 즉, 모델이 처리한 데이터나 그 작업 결과를
출력할 화면을 만드는 것이다. 이를 위해 모델로부터 정보를 얻어온다.
컨트롤러는 사용자로부터의 입력에 대한 응답이다. 사용자의 요청사항을 파악한 후,
그 요청에 맞는 데이터를 모델에 의뢰하고 데이터를 뷰에 반영해 사용자에게 전달한다.
모델이 데이터를 어떻게 처리할지 알려주는 역할이라는 것이다.
'프레임워크 > Spring' 카테고리의 다른 글
Spring Interceptor (0) | 2023.04.21 |
---|---|
Spring Web MVC(Model View Controller) (0) | 2023.04.20 |
Spring applicationContext class path resuource 에러 (0) | 2023.04.13 |
Spring AOP Proxy (0) | 2023.04.12 |
Spring AOP(Aspect Oriented Programming) (2) | 2023.04.12 |