관심사의 분리 (Separation of Concerns)
•
OOP 5대 설계 원칙 : S O L I D
◦
SRP : 단일 책임의 원칙
▪
하나의 메소드는 하나의 책임만
•
분리
◦
관심사(해야할 작업)
◦
변하는 것과 변하지 않는 것
◦
공통(중복)코드
다음 코드는 3개의 관심사로 나눌 수 있다.
공통 코드의 분리 - 입력의 분리
다음을
다음으로
또는 이렇게도 가능
출력의 분리 - 변하는 것과 변하지 않는 것의 분리
•
코드를 관심사에 따라 분리하면 더 이상 기존 변수들을 사용하지 못함.
→ 결과를 저장할 Model 객체가 필요
→ Model, View(출력), Controller(처리)로 나눈 MVC 패턴 등장
MVC 패턴
•
입력(DispatchcerServlet) → 처리(Controller) → Model에 결과 저장 → 출력(View)
1.
요청
•
DispatcherServlet
◦
입력 & 변환
◦
모델 생성
2.
모델에 결과 저장
YoilTellerMVC.java
3.
결과(모델)를 View에 전달하여 출력
yoil.jsp
yoilError.jsp
관심사의 분리 & MVC 패턴 실습
YoilTellerMVC.java
yoil.jsp
yoilError.jsp
컨트롤러 메소드의 반환 타입
String View 이름을 반환
void 매핑된 URL의 끝단어가 View 이름
ModelAndView Model과 View 이름을 반환