Benji3
개발 일지
Benji3
전체 방문자
오늘
어제
  • 전체 (50)
    • 세미나 (3)
    • 공부노트 (47)
      • 스프링 (10)
      • 머신러닝 (2)
      • 자바 (4)
      • 클라우드 (7)
      • 개발서적 (3)
      • 데이터베이스 (6)

블로그 메뉴

  • 홈

공지사항

인기 글

태그

  • 컴퓨터
  • WSL
  • jpa
  • 회고
  • Ruby on Rails
  • 프론트엔드
  • java
  • 루비온레일즈
  • 역사
  • 서버
  • ruby
  • 데이터베이스
  • 개발자
  • MySQL
  • git
  • 프로그래밍
  • rubyonrails
  • selenide
  • Rails
  • db

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Benji3

개발 일지

프록시 패턴과 데코레이션 패턴
공부노트/스프링

프록시 패턴과 데코레이션 패턴

2022. 4. 30. 23:31

시작하며

기존의 템플릿 메서드 패턴, 템플릿 콜백 패턴은 기존 코드를 수정할 수 밖에 없다. 그래서 코드를 건드리지 않는 프록시 패턴을 도입해보고자 한다.

 

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
    '공부노트/스프링' 카테고리의 다른 글
    • Spring AOP 적용
    • 스프링 AOP
    • Strategy Pattern, Template Callback 패턴
    • Template Method 패턴
    Benji3
    Benji3
    컴퓨터 프로그래밍과 관련된 포스팅을 합니다.

    티스토리툴바