정리
지금까지 v1 ~ v5로 점진적으로 프레임워크를 발전시켜 왔다.
- v1: 프론트 컨트롤러를 도입
- 기존 구조를 최대한 유지하면서 프론트 컨트롤러를 도입
- v2: View 분류
- 단순 반복 되는 뷰 로직 분리
- v3: Model 추가
- 서블릿 종속성 제거
- 뷰 이름 중복 제거
- v4: 단순하고 실용적인 컨트롤러
- v3와 거의 비슷
- 구현 입장에서 ModelView를 직접 생성해서 반환하지 않도록 편리한 인터페이스 제공
- v5: 유연한 컨트롤러
- 어댑터 도입
- 어댑터를 추가해서 프레임워크를 유연하고 확장성 있게 설계
여기에 애노테이션을 사용해서 컨트롤러를 더 편리하게 발전시킬 수도 있다.
만약 애노테이션을 사용해서 컨트롤러를 편리하게 사용할 수 있게 하려면 어떻게 해야 할까?
바로 애노테이션을 지원하는 어댑터를 추가하면 된다.
다형성과 어댑터 덕분에 기존 구조를 유지하면서, 프레임워크의 기능을 확장할 수 있다.
스프링 MVC
여기서 더 발전시키면 좋겠지만, 스프링 MVC의 핵심 구조를 파악하는데 필요한 부분은 모두 만들어보았다.
지금까지 작성한 코드는 스프링 MVC 프레임워크의 핵심 코드의 축약 버전이고, 구조도 거의 같다.
스프링 MVC는 지금까지 내용과 거의 같은 구조를 가지고 있다.
출처 : https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1
'Spring MVC > MVC 프레임워크 만들기' 카테고리의 다른 글
[Spring MVC] 프론트 컨트롤러 - 어댑터 추가 (2) (0) | 2023.02.01 |
---|---|
[Spring MVC] 프론트 컨트롤러 - 어댑터 추가 (1) (0) | 2023.02.01 |
[Spring MVC] 프론트 컨트롤러 - 단순하고 실용적인 컨트롤러 (0) | 2023.02.01 |
[Spring MVC] 프론트 컨트롤러 - Model 추가 (0) | 2023.01.31 |
[Spring MVC] 프론트 컨트롤러 - View 분리 (0) | 2023.01.31 |