-
MVC 프레임워크 생성
Spring
2021. 11. 28. 19:47
FrontController 패턴 생성
- FrontController를 생성함으로써 더이상 컨트롤러에 서블릿을 사용하지 않아도 된다.
- 프론트 컨트롤러만 서블릿으로 설정해두고 요청에 맞는 컨트롤러를 찾아서 호출해주는 방식이다.
- 공통처리가 가능하다.
View 분리
getRequestDispatcher
처럼 모든 컨트롤러에서 뷰로 이동하는 부분에 중복이 발생하므로 별도로 뷰를 처리하는 객체를 만든다.(MyView)
서블릿 종속성 제거, 뷰 이름 중복 제거(논리 뷰, 물리 뷰)
- 컨트롤러는 서블릿이 필요없다. Map을 이용해 파라미터 정보를 넘기면 되기 때문이다.
- 뷰의 논리 이름만 입력하면 자동으로 물리 뷰를 생성하도록 설정해줄 수 있다.(viewResolver)
- 서블릿 종속성을 제거하기 위해 뷰를 렌더링 할 때 필요한 Model과 View 이름을 전달하는 객체를 생성한다(ModelView)
- 서블릿 종속성을 제거하면 테스트코드 작성이 수월해진다.
실용성을 위한 MVC 프레임워크 제작()
- model 객체를 파라미터로 전달한다.
- ModelView를 직접 생성해서 반환하지 않도록 편리한 인터페이스 제공
유연한 컨트롤러
- 어댑터 패턴을 이용하여 컨트롤러 인터페이스를 설정한다.
- 어댑터를 통해 컨트롤러가 호출된다.