Spring

MVC 프레임워크 생성

keepgoing 2021. 11. 28. 19:47

FrontController 패턴 생성

  • FrontController를 생성함으로써 더이상 컨트롤러에 서블릿을 사용하지 않아도 된다.
  • 프론트 컨트롤러만 서블릿으로 설정해두고 요청에 맞는 컨트롤러를 찾아서 호출해주는 방식이다.
  • 공통처리가 가능하다.

View 분리

  • getRequestDispatcher 처럼 모든 컨트롤러에서 뷰로 이동하는 부분에 중복이 발생하므로 별도로 뷰를 처리하는 객체를 만든다.(MyView)

서블릿 종속성 제거, 뷰 이름 중복 제거(논리 뷰, 물리 뷰)

  • 컨트롤러는 서블릿이 필요없다. Map을 이용해 파라미터 정보를 넘기면 되기 때문이다.
  • 뷰의 논리 이름만 입력하면 자동으로 물리 뷰를 생성하도록 설정해줄 수 있다.(viewResolver)
  • 서블릿 종속성을 제거하기 위해 뷰를 렌더링 할 때 필요한 Model과 View 이름을 전달하는 객체를 생성한다(ModelView)
  • 서블릿 종속성을 제거하면 테스트코드 작성이 수월해진다.

실용성을 위한 MVC 프레임워크 제작()

  • model 객체를 파라미터로 전달한다.
  • ModelView를 직접 생성해서 반환하지 않도록 편리한 인터페이스 제공

유연한 컨트롤러

  • 어댑터 패턴을 이용하여 컨트롤러 인터페이스를 설정한다.
  • 어댑터를 통해 컨트롤러가 호출된다.