2010-04-06 2 views
4

상태 시스템을 사용하는 응용 프로그램 내에 문제가 있습니다. 응용 프로그램은 Windows 서비스로 구현되며 iteration 기반 (모든 것을 통해 자체적으로 "foreach")하며 무수히 많은 인스턴스가 상태 시스템에서 처리됩니다.LINQ 식 클래스가 지연 실행 대신 관찰자 패턴을 구현할 수 있습니까?

Jon Skeets 책 "C# in Depth, 2nd ed"의 MEAP 버전을 읽으면서 경비 및 조건이 표현식을 사용하여 표시되도록 linq 표현식 인스턴스를 사용하도록 모든 것을 변경할 수 있는지 궁금합니다. 나무.

우리는이 상태 머신 엔진에 많은 응용 프로그램을 구축하고 아마 크게 VS 2010 이제

, 간단한 예제에서 새로운 식 트리 시각화 혜택을 누릴 것입니다. 두 개의 하위 노드가있는 OR 식 조건이있는 식 트리가있는 경우 식 트리가 이벤트 구동되도록 관찰자 패턴을 구현할 수있는 방법이 있습니까? 조건이 변경되면 상위 노드 (OR 노드)에 통지해야합니다. OR 노드는 "false"에서 "true"로 변경되므로 ITS 부모에게 알려야합니다.

표현 트리의 선언적 모델을 좋아하지만 지연 기반 실행 모델은 이벤트 기반 "실시간"조건을 원할 경우 제어 흐름의 반대 방향으로 작동합니다.

야생 거위 추격은 여기에 있습니까? 아니면 BCL에이를 달성하는 데 도움이되는 몇 가지 개념이 있습니까?

답변

5

그것은 당신에게 관심을 가질만한 새로운 Reactive Framework 같은 소리 :

수신이 관찰 컬렉션을 사용하는 비동기 및 이벤트 기반 프로그램을 구성하기위한 라이브러리입니다.

+1

Reactive Extension에 대한 간략한 소개는 MEAP 12 장 마지막 부분을 참조하십시오. –

+0

가격이 없습니다. 아마 당신이 짐작했듯이 나는 책을 읽지 않았을 것입니다. 그리고 12.5 절 "LINQ를 사용하여 쿼리 모델을 Rx로 변환"을 참조하십시오. – Tormod

+0

그리고 마침내 나는 회사 시간에 독서 중 일부를하게된다 ....;) 그런데, 훌륭한 책! – Tormod

관련 문제