Web/Spring

[Spring] MVC 패턴이란? Model / View / Controller / 메인 메서드 반환타입

728x90

 

 

 

0. 관심사의 분리

- OOP 5대 설계원칙 : SOLID

    • SRP : 단일 책임의 원칙 (하나의 메서드는 하나의 책임(Concern))

- 좋은 객체지향 설계를 위한 분리

    1. 관심사 분리

    2. 변하는 것(Common) / 변하지 않는 것(Uncommon) 분리

    3. 공통코드 (중복코드)

 

 

 

 

1. MVC 패턴이란?

- 소프트웨어를 Model - View - Controller의 3가지 구성 요소로 구분한 개발 방법론이다

- 사용자가 Controller를 조작 →  Controller는 Model을 통해 데이터를 가져옴
   → 데이터를 바탕으로 View를 통해 시각적 표현을 제어하여 사용자에게 전달

- Model : 정보 및 데이터 부분. 데이터와 관련한 값과 기능을 가지는 객체

- View : 입력값, 체크박스 등 사용자 인터페이스 요소. 사용자에게 보여지는 화면

- Controller : Model과 View의 역할을 분리하고 데이터 흐름을 제어하는 요소

 

 

 

2.1. MVC 패턴의 동작 과정

1. 클라이언트의 요청

2. DispatcherServlet에서 입력 및 변환 처리 후, Model 생성하여 Controller로 전달

    - Model : 결과 저장소 (key-value 형식)

3. Controller 비즈니스 로직 처리 후, Model에 결과 저장

    - Controller에서 어떤 View 선택할지 결정 가능

    -  return "뷰이름"; 

4. DispatcherServlet이 Model을 View에 전달

5. 클라이언트로 응답 전송

 

 

2. 메인 메서드의 반환 타입과 View 이름

- String : View 이름을 반환 (사용 多)

    • servlet-context 파일에 설정된 접두사, 접미사 붙여줘서 View 경로를 찾을 수 있다

- void : 매핑된 URL의 끝단어를 View 이름으로 해석

- ModelAndView : Model과 View 이름을 반환

ModelAndView mv = new ModelAndView();
mv.addObject("year", year);   // model에 저장
mv.setViewName("뷰이름");       // view 지정
return mv;

 

 

 

 

 

 

📌  References

- https://carrotweb.tistory.com/216

 

MVC(Model, View, Controller) Pattern - 모델, 뷰, 컨트롤러 패턴

MVC(Model - 모델, View - 뷰, Controller - 컨트롤러) 패턴은 사용자 인터페이스(UI)와 Business Logic(비즈니스 로직)을 분리하여 사용자 인터페이스, 데이터, 제어를 분리하여 구현할 수 있게 해주는 Software D

carrotweb.tistory.com

 

 

 

 

 

 

 

 

728x90