시작하며
기존의 템플릿 메서드 패턴, 템플릿 콜백 패턴은 기존 코드를 수정할 수 밖에 없다. 그래서 코드를 건드리지 않는 프록시 패턴을 도입해보고자 한다.
Strategy Pattern, Template Callback 패턴
템플릿 메서드 Template Method 패턴과 차이 Template Method 패턴에서는 자주 변경되는 점과 변경되지 않는 점을 부모와 자식 관계인 '상속 관계'로 해결했다. 하지만 단점으로 의존성이 높았다. Strategy
mulmandu17.tistory.com
프록시
서버와 클라이언트 관계에서 실제 서버처럼 행동하는 대체자를 프록시라고 한다. 프록시를 도입하면 다음과 같은 이점을 얻을 수 있다.

1. 접근 제어
- 권한에 따른 접근 차단
- 캐싱
- 지연로딩
2. 부가 기능 추가
- 현재 서버가 제공하는 기능에 더해서 부가 기능을 수행한다
- 예시1) 요청 값이나 응답 값을 중간에 변형
- 예시2) 실행 시간을 측정해서 추가 로그를 남김
디자인 패턴
이 프록시 개념을 디자인 패턴에 활용한 것들이 있다. '프록시 패턴'과 '데코레이터 패턴' 이다. GOF 디자인 패턴에 따르면 이 둘의 의도(intent)가 다르다. 프록시 패턴은 '접근 제어' 가 목적이고, 데코레이터 패턴은 '새로운 기능 추가' 가 목적이다. 둘다 프록시를 사용하는 것이다.
스프링 사용 정보
- Spring MVC 에서는 `@RequestMapping` 어노테이션이 있으면 컨트롤러로 인식한다.
- 보통 `@RestController` 를 사용하는데 이 어노테이션은 @Component 가 있어서 컴포넌트 스캔에 감지되어 자동 빈으로 등록된다.
'공부노트 > 스프링' 카테고리의 다른 글
Spring AOP 적용 (0) | 2022.06.25 |
---|---|
스프링 AOP (0) | 2022.06.19 |
Strategy Pattern, Template Callback 패턴 (0) | 2022.04.24 |
Template Method 패턴 (0) | 2022.04.24 |
스프링 프레임워크 - 기초 (0) | 2022.04.10 |