Page 30 -
P. 30
옵 저 버 패 턴
R xJ S 기 저 에 는 옵 저 버 디 자 인 패 턴 이 있 습 니 다. 여 기 에 는 상 태 변 화 에 대 한 알 림 을 받 는 구 독 자 들( 각 옵 저 버) 의 목
록 을 관 리 하 는 객 체( 서 브 젝 트) 가 포 함 되 어 있 습 니 다. 이 패 턴 은 특 히 뷰 계 층 이 모 델 변 경 사 항 을 지 속 적 으 로 듣 는
(li st e ni n g) M V C (m o d el - vi e w - c o ntr oll er ) 아 키 텍 처 의 필 수 요 소 로, 많 은 애 플 리 케 이 션 이 이 패 턴 을 사 용 합 니 다.
하 지 만 제 대 로 구 축 하 지 못 한 옵 저 버 패 턴 에 서 는 옵 저 버 의 부 적 절 한 제 거 와 관 련 된 메 모 리 와 누 수 가 발 생 합 니 다. 이
에 관 해 서 는 G a n g of F o ur 의 책 으 로 알 려 진 유 명 한 < G o F 의 디 자 인 패 턴>( 프 로 텍 미 디 어, 2 01 5 ) 에 서 자 세 히 알 아
볼 수 있 습 니 다.
R xJ S 는 비 동 기 프 로 그 램 을 대 상 으 로 하 는 발 행/ 구 독 방 법 론 에 대 한 이 패 턴 에 서 영 감 을 얻 었 지 만, 스 트 림 이 완 료
되 면 알 려 주 는 신 호, 지 연 초 기 화, 취 소, 리 소 스 관 리 와 폐 기 같 은 몇 가 지 추 가 기 능 을 기 본 으 로 가 지 고 있 습 니 다.
책 의 뒷 부 분 에 서 이 러 한 R xJ S 스 트 림 의 컴 포 넌 트 를 설 명 합 니 다.
일 련 의 숫 자 로 이 예 제 를 확 장 할 수 있 습 니 다.
S t r e a m ( 1 , 2 , 3 , 4 , 5 ) . s u b s c r i b e (
v a l = > {
c o n s o l e . l o g ( v a l ) ;
}
) ;
/ / - > 1
2
3
4
5
또 는, 배 열 로 도 확 장 됩 니 다.
S t r e a m ( [ 1 , 2 , 3 , 4 , 5 ] )
. f i l t e r ( n u m = > ( n u m % 2 ) = = = 0 )
. m a p ( n u m = > n u m * n u m ) 스 트 림 은 E S5 에 서 도 입 한 Arr a y. m a p() 과 Arr a y.filt er() 함 수 를
제 공 하 여 배 열 의 내 용 을 처 리 합 니 다.
. s u b s c r i b e (
v a l = > {
c o n s o l e . l o g ( v a l ) ;
}
) ;
/ / - > 4
1 6
이 예 제 코 드 에 서 스 트 림 생 산 자( 여 기 에 서 는 배 열) 의 생 성 과 소 비 자( 콘 솔 에 출 력 되 는 함 수) 사 이
에 서 일 어 나 는 일 련 의 작 업 은 파 이 프 라 인( 이 개 념 을 곧 확 장 할 것 입 니 다) 이 라 고 부 르 겠 습 니 다. 파
0 4 2
R x J S 코 딩 공 작 소( 본 문) 최 종.i n d d 4 2 2 0 1 9 - 1 2 - 1 2 오 전 1 0: 1 0: 0 8