2011-02-16 6 views

답변

1

반드시 그렇지는 않지만, 상황에 따라 다릅니다. 일부 관측자는 로깅과 같은 간단한 작업을 수행하기를 원할 수 있으며 Observable 객체에 의해 유지되는 것을 선호합니다. 가장 좋은 방법은 선택 사항을 명확하게 문서화하여 관찰자가 명시 적으로 등록 취소해야하는지 여부를 알 수 있도록하는 것입니다. 이 스레드 안전을 처리하고 당신을 위해 순서를 호출로 주제 오프

+0

Okxx .. 내 경우 엔 객체를 유지하는 데별로 관심이 없습니다. 그러나 모든 참조가 없어지 기 전에 removeObserver를 호출하면이 작업을 수행 할 수 있습니다. 내가 그것을 잊어 버리면, 그 물건은 살아있게 될 것입니다. 최고의 디자인은 무엇입니까? 프로그래머가이를 추적해야하거나 약한 참조를 사용하는 것이 좋습니다. – joynes

0

, 당신은 .NET 4에서 수신 만이 아니라 IObservable 인터페이스를 사용하는 경우, 당신은 Subject의 개인 인스턴스를 통해 Subscribe 전화를 매핑해야합니다. 그런 다음 주제 인스턴스에 On*으로 전화 할 수 있습니다.

주제에 대해 구독자는 자신의 구독을 관리하는 것이 일반적입니다. 최소한이 값은 Subscribe 반환 값을 처리하는 것을 의미하지만 Rx에서 구독은 대개 다른 연산자 (예 : Take 또는 TakeUntil)에 의해 종료됩니다.

관련 문제