| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 상속
- Java
- 성수핫플
- 성수맛집
- 디자인패턴
- 직장인
- 객체지향프로그래밍
- 성수
- 객체지향
- IntelliJ
- 클린코드
- 개발자
- 독서
- DesignPattern
- JavaScript
- docker
- 코딩
- 독서일지
- 헤드퍼스트디자인패턴
- 헤드퍼스트
- 직장인점심
- 성수직장인
- JAVA개발자
- 성수볼거리
- 깨끗한코드
- 오브젝트
- 책읽기
- 주니어개발자
- 책너두
- Linux
- Today
- Total
런타임노트
[헤드퍼스트 디자인패턴] 38일차. 503-513pg | 동적 프록시 활용하여 보호 프록시 만들기 본문
[헤드퍼스트 디자인패턴] 38일차. 503-513pg | 동적 프록시 활용하여 보호 프록시 만들기
D269 2023. 6. 13. 16:5038일차
헤드퍼스트 디자인패턴 [7주차_화요일]
503-513pg
요약
**CHAPTER 11. 객체 접근 제어하기 (feat. 프록시 패턴)**
사람들이 좋은 경찰에 접근하는 일을 나쁜 경찰이 제어한다. 패턴에서 나쁜 경찰은 프록시(proxy)이다. 접근을 제어하고 관리한다.
[ 동적 프록시를 활용하여 보호 프록시 만들기 ]
- java.lang.reflect 패키지에 프록시 기능이 내장되어 있다.
- java.lang.reflect 패키지 사용하면 즉석에서 하나 이상의 인터페이스를 구현하고, 지정한 클래스에 메소드 호출을 전달하는 프록시 클래스를 만들 수 있다.
- 동적 프록시(dynamic proxy) : 진짜 프록시는 실행 중에 생성되는 자바 기술
- 자바에서 Proxy 클래스를 생성해주고, Proxy 클래스에게 무슨 일을 해야하는 지 알려 줄 코드는 InvocationHandler에 넣으면 된다. InvocationHandler는 프록시에 호출되는 모든 메소드에 응답한다.
- 예) 다른 고객의 정보를 마음대로 바꿀 수 없게 하고 싶을 때 보호 프록시(Protection Proxy)를 사용한다.
- 보호 프록시(Protection Proxy) : 접근 권한을 바탕으로 객체로의 접근을 제어하는 프록시
- 동적 프록시 만드는 단계 (여기서는 예시로, 하나는 본인의 person 객체에 접근, 다른 하나는 다른 사람의 person 객체에 접근 하는 프록시 두 가지 만든다.)
1단계. 2개의 InvocationHandler 만들기
2단계. 동적 프록시 생성 코드 만들기
3단계. 적절한 프록시로 Person 객체 감싸기
1단계. 2개의 InvocationHandler 만들기
한 개는 본인용 핸들러, 다른 하나는 타인용 핸들러.
- 호출 핸들러는 프록시가 호출 했을 때 그 호출을 처리하는 방법을 어떻게 알까?
-> OwnerInvocationHandller 구현해보면서 살펴보기.
2단계. 동적 프록시 생성코드 만들기
Person 객체를 인자로 받고 본인용 프록시를 만드는 메소드를 만든다.
-> 메소드 호출을 OwnerInvocationHandler에게 넘겨주는 프록시 만들기.
발췌
동적 프록시(dynamic proxy) : 진짜 프록시는 실행 중에 생성되는 자바 기술
보호 프록시(Protection Proxy) : 접근 권한을 바탕으로 객체로의 접근을 제어하는 프록시
'책책책 책을 읽읍시다‼ ver.개발 > [ 헤드퍼스트 디자인패턴 ]' 카테고리의 다른 글
| [헤드퍼스트 디자인패턴] 40일차. 528-539pg | 복합패턴 (2) | 2023.06.15 |
|---|---|
| [헤드퍼스트 디자인패턴] 39일차. 514-527pg | 프록시패턴 : 다양한 변종 프록시 (0) | 2023.06.15 |
| [헤드퍼스트 디자인패턴] 37일차. 488-502pg (2) | 2023.06.12 |
| [헤드퍼스트 디자인패턴] 36일차. 475-487pg (0) | 2023.06.12 |
| [헤드퍼스트 디자인패턴] 35일차. 464-474pg (2) | 2023.06.09 |