문제

일부 상태가 변경 될 때 관찰자/청취자에게 통지하는 풀 지향 관측 가능/청취 가능이 있습니다.

상태는 하나 이상의 데이터를 덩어리로 구성하며 일부 관찰자/청취자는 전체 국가를 신경 쓰지 않습니다.

당신은 일반적으로 어쨌든 모든 관찰자/청취자에게 알리고 그들이 아무런 신경 쓰지 않을 때 알림을 무시할 수 있도록 선호합니까?

또는 일반적으로 관찰자/청취자가 응답 해야하는 알림 만받을 수 있도록 각 "너겟"에 대해 지켜 볼 수있는 분리 된 것을 선호합니까?

상황에 달려 있습니까?

관찰 가능/청취 가능성의 세분성에 대한 일반적인 생각이 있습니까?

도움이 되었습니까?

해결책

배송 비용에 대해 유지 보수 비용을 거래하고 있습니다. 세분화 된 이벤트 정의가있는 경우 각 관찰자는 필요한 것을 정확하게 얻습니다. 따라서 관심이없는 관찰자에게 배달의 오버 헤드 비용을 지불하지 않지만 모든 새로운 종류의 너겟을 추가해야하기 때문에 비용 절감 비용. 어떤 식 으로든 시스템.

배송비가 상대적으로 높은 PUB/서브 메시징 시스템 (네트워크를 통해 흐르는 메시지)에서 일반적으로 주제 신호에주의를 기울여야합니다. 신중하게 설계된 주제 계층 구조는 종종 유용합니다. 그래서 우리는 같은 패턴을 얻습니다

  sport
       football
              england 
                    premier
                    champioship
              scotland
                    spl
              france
                    ...
       cricket
              australia
                    ...
              india
              sri lanka

따라서 다양한 수준에서 구독을 허용합니다. 모든 스포츠를 구독하거나 (일부 사람들처럼)

    sport/football/england/championship/watford

다른 팁

일반적으로 특수 인터페이스는 피해보다 더 잘 작동하므로 더 적은 것이 아니라 더 많은 것을 구현할 것입니다.

이것은 분명히 상황을 부릅니다. 필요하다면 이런 식으로 만 전문화되며, 당신의 상황에서 그런 식으로 보이며, 그렇지 않으면 밀이 수확이 필요하다는 것을 시리얼 제작자에게 알리는 것과 같습니다. 단순히 적용되지 않습니다.

내가 이것을해야한다면, 나는 아마도 각 종류의 너겟에 대한 이벤트가있는 관찰 가능한 클래스와 어떤 너겟에 대한 글로벌 이벤트를 만들 것입니다. 중간 길과 비슷합니다.

단지 유지 보수가 아닙니다. 관측 가능성과 관찰자 사이의 인터페이스가 더 구체적 일수록 더 많이 결합 될 수 있습니다.

4 권의 갱단에는이 문제에 대한 섹션이 있으며 푸시와 풀 모델에 대해 조언합니다. 풀 모델은 비효율적 일 수 있으며, 푸시 모델을 충분히 재사용 할 수 없을 수 있습니다.

따라서 상황에 따라 크게 달라집니다. 나는 풀 모델보다 약간 위로가는 경향이 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top