일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- JavaScript
- 헤드퍼스트
- 책너두
- DesignPattern
- 주니어개발자
- 독서
- 객체지향프로그래밍
- 깨끗한코드
- IntelliJ
- 오브젝트
- Linux
- 개발자
- 객체지향
- Java
- 책읽기
- 성수맛집
- JAVA개발자
- 성수
- 성수직장인
- 성수핫플
- 클린코드
- docker
- 디자인패턴
- 직장인점심
- 상속
- 코딩
- 독서일지
- 성수볼거리
- 직장인
- 헤드퍼스트디자인패턴
- Today
- Total
닭발개발
[헤드퍼스트 디자인패턴] 39일차. 514-527pg | 프록시패턴 : 다양한 변종 프록시 본문
[헤드퍼스트 디자인패턴] 39일차. 514-527pg | 프록시패턴 : 다양한 변종 프록시
D269 2023. 6. 15. 20:5739일차
헤드퍼스트 디자인패턴 [7주차_수요일]
514-527pg
요약
**CHAPTER 11. 객체 접근 제어하기 (feat. 프록시 패턴)**
사람들이 좋은 경찰에 접근하는 일을 나쁜 경찰이 제어한다. 패턴에서 나쁜 경찰은 프록시(proxy)이다. 접근을 제어하고 관리한다.
[ 다양한 프록시 변종들 ]
1. 방화벽 프록시(Firewall Proxy)
네트워크 자원으로의 접근을 제어함으로써 주제를 '나쁜' 클라이언트로부터 보호해 준다.
2. 스마트 레퍼런스 프록시(Smart Reference Proxy)
주제가 참조될 때마다 추가 행동을 제공한다. 객체의 레퍼런스 개수를 센다든가 하는 식으로 제공.
3. 캐싱 프록시(Caching Proxy)
작업의 결과를 임시로 저장해 준다.
여러 클라이언트에서 결과를 공유하게 해 줌으로써 계산시간과 네트워크 지연을 줄여 주는 효과도 있다.
웹 서버 프록시 또는 컨텐츠 관리 및 퍼블리싱 시스템에서 종종 볼 수 있다.
4. 동기화 프록시(Synchronization Proxy)
여러 스레드에서 주제에 접근할 때 안전하게 작업을 처리할 수 있게 한다.
분산 환경에서 일련의 객체로의 동기화된 접근을 제어해 주는 자바 스페이스라는 곳에서 볼 수 있다.
5. 복잡도 숨김 프록시(Complexity Hiding Proxy)
복잡한 클래스의 집합으로의 접근을 제어하고, 그 복잡도를 숨겨준다.
퍼사드 프록시(Facade Proxy)라고 부르기도 한다.
이 프록시와 퍼사드 패턴의 차이점은 프록시는 접근을 제어, 퍼사드 패턴은 대체 인터페이스만 제공
6. 지연 복사 프록시(Copy-On-Write Proxy)
클라이언트에서 필요로 할 때까지 객체가 복사되는 것을 지연시킴으로써 객체의 복사를 제어한다.
변형된 가상 프록시라고 할 수 있다.
자바의 CopyOnWriteArrayList에 있다.
[ 객체지향 패턴 추가 + ]
프록시 패턴 : 특정 객체로의 접근을 제어하는 대리인(특정 객체를 대변하는 객체)을 제공한다.
발췌
프록시 패턴 : 특정 객체로의 접근을 제어하는 대리인(특정 객체를 대변하는 객체)을 제공한다.
'책책책 책을 읽읍시다‼ ver.개발 > [ 헤드퍼스트 디자인패턴 ]' 카테고리의 다른 글
[헤드퍼스트 디자인패턴] 41일차. 540-553pg | 복합패턴 (0) | 2023.06.18 |
---|---|
[헤드퍼스트 디자인패턴] 40일차. 528-539pg | 복합패턴 (2) | 2023.06.15 |
[헤드퍼스트 디자인패턴] 38일차. 503-513pg | 동적 프록시 활용하여 보호 프록시 만들기 (4) | 2023.06.13 |
[헤드퍼스트 디자인패턴] 37일차. 488-502pg (2) | 2023.06.12 |
[헤드퍼스트 디자인패턴] 36일차. 475-487pg (0) | 2023.06.12 |