전략 패턴 (Strategy pattern)
- 정책 패턴 (Policy pattern)이라고 부르기도 함
- 객체의 행위를 바꾸고 싶은 경우 직접 수정하는 것이 아닌, '전략' 이라고 부르는 '캡슐화한 알고리즘프'을 컨텍스트 안에서 바꿔주면서 상호 교체가 가능하게 만든 패턴
(컨텍스트 - 상황, 맥락, 문맥을 의미하여 개발자가 어떠한 작업을 완료하는데 필요한 모든 관련 정보를 말함)
- Ex) 결제를 할 때, 결제 방식에 대한 '전략'을 카드, 현금, 입금 등의 다양한 방법으로 결제하는 것과 비슷
옵저버 패턴 (Observer pattern)
- 주체가 어떤 객체의 상태 변화를 관찰하다가 상태 변화가 있을 때마다 메서드 등을 통해 옵저버 목록에 있는 옵저버 목록에 있는 옵저버들에게 변화를 알려주는 패턴
- 주체 : 객체의 상태 변화를 보고 있는 관찰자
- 옵저버들 : 객체의 상태 변화에 따라 전달되는 메서드 등을 기반으로 추가 변화 사항이 생기는 객체를 의미
- 옵저버 패턴을 활용한 서비스 = 트위터
- 옵저버 패턴은 주로 이벤트 기반 시스템에 사용하며 MVC 패턴에도 사용
(주체 Model에서 변경 사항이 생겨 update() 메서드를 통해 옵저버인 View에 알려주고, 이를 기반으로 Controller가 작동)
프록시 패턴과 프록시 서버
- 프록시 객체는 디자인 패턴 중 하나인 프록시 패턴이 녹아있는 객체
- 프록시 패턴
- 대상 객체에 접근하기 전 그 접근에 대한 흐름을 가로채 대상 객체 앞단의 인터페이스 역할을 하는 디자인 패턴
- 객체의 속성, 변환 등을 보완하고 보안, 데이터 검증, 캐싱, 로깅 등에 사용
- 캐싱 - 캐시 안에 정보를 담아두고, 캐시 안에 있는 정보를 요구하는 요청을 다시 원격 서버에 요청하지 않고 캐시 안에 있는 데이터를 활용하는 것을 말함.
이를 통해, 외부와의 불필요한 연결이 없어 트래픽을 줄일 수 있는 장점
- 캐싱 - 캐시 안에 정보를 담아두고, 캐시 안에 있는 정보를 요구하는 요청을 다시 원격 서버에 요청하지 않고 캐시 안에 있는 데이터를 활용하는 것을 말함.
- 이는 프록시 객체로 쓰이기도 하지만 프록시 서버로도 활용
- 프록시 서버
- 서버와 클라이언트 사이에서 클라이언트가 자신을 통해 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 컴퓨터 시스템이나 응용프로그램을 가리킴
- 대표적으로 CloudFlare가 있다.
- CloudFlare
- 전 세계적으로 분산된 서버가 있고 이를 통해 어떠한 시스템의 콘텐츠 전달을 빠르게 할 수 있는 CDN 서비스
- DDOS 공격방어, HTTPS 구축에도 사용
- CORS와 프론트엔드의 프록시 서버
- CORS는 서버가 웹 브라우저에서 리소스를 로드할 떄 다른 오리진을 통해 로그하지 못하게 하는 HTTP 헤더 기반의 메커니즘
- CORS 문제를 해결하기 위해 프록시 서버를 사용하기도 함
- CloudFlare
728x90
'ssung_끄적끄적 > CS지식_끄적' 카테고리의 다른 글
TCP/IP 4계층 모델 (0) | 2023.08.30 |
---|---|
네트워크 기초 (0) | 2023.08.29 |
프로그래밍 패러다임 (Programming paradigm) (0) | 2023.08.28 |
이터레이터 패턴, 노출모듈 패턴, MVC 패턴, MVP 패턴, MVVM 패턴 (0) | 2023.08.27 |
싱글톤 패턴, 팩토리 패턴 (0) | 2023.08.24 |