[CS지식의 정석] 전략패턴과 옵저버패턴, 프록시 패턴

박두팔이·2023년 8월 16일
0

CS컴퓨터과학

목록 보기
13/13

전략패턴

전략이라고 부르는 '캡슐화한 알고리즘'을 컨텍스트 안에서 바꿔주면서 상호 교체가 가능하게 만드는 디자인 패턴이다.

예를들어, 회원가입을 하기위해 LocalStrategy를 사용할 수 있지만 OAuth2처럼 구글이나 카카오, 페이스북 등으로 가입하는 방법도 있다.

  • 아래의 코드 예시는 LocalStrategy를 사용하는 코드이다.

  • 같은 passoprt를 사용하는 데 동작에 대한 알고리즘이 다르다. 아래의 코드는 FacebookStrategy이다.


옵저버패턴

옵저버패턴이란 주체가 어떤 객체(subject)의 상태 변화를 관찰하다가 상태 변화가 있을 때마다 메서드 등을 통해 옵저버 목록에 있는 옵저버들에게 변화를 알려 주는 디자인 패턴이다.

  • 트위터의 메인로직, MVC 패턴에도 적용되었다.

프록시 패턴

프록시패턴이란 객체가 어떤 대상 객체에 접근하기 전, 그 접근에 대한 흐름을 가로채서 해당 접근을 필터링하거나 수정하는 등의 역할을 하는 계층이 있는 디자인패턴이다.

  • 보통의 경우 서비스 앞단에 프록시 서버로 클라우드flare를 둬서 불필요하거나 공격적인 트래픽을 막는다.(필터링해줌)
  • 순수한 사용자만 사용할 수 있도록 함
profile
기억을 위한 기록 :>

0개의 댓글