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
'Web > Spring' 카테고리의 다른 글
[Spring] JSP와 Spring에서의 Forward와 Redirect : InternalResourceView / RedirectView (0) | 2024.02.02 |
---|---|
[Spring] URL 매핑 : URL 패턴 Servlet URL Mapping / DispatcherServlet (0) | 2024.02.02 |
[Spring] HttpServletRequest, HttpServletResponse 객체 (1) | 2024.01.31 |
[Spring] 웹 개발을 하는 세 가지 방법(3) : API (0) | 2022.02.08 |
[Spring] 웹 개발을 하는 세 가지 방법(2) : MVC와 템플릿 엔진 (0) | 2022.02.08 |