파이프 시스템을 만들 수있는 작은 프레임 워크가 있습니다. & 필터 시스템. 나는 파이프 & 필터 시스템을 구축 유창한 인터페이스를 사용하는 아이디어했다 : 예상대로 표시 코드가 작동유창한 인터페이스 빌더에 분기점 추가
PipeFilter pipeFilter = PipeFilter.StartBuild()
.AddFilter(new SomeFilter1())
.AddFilter(new SomeFilter2())
.AddFilter(new SomeFilter3())
.AddFilter(new SomeFilter4())
.Build();
합니다. 여기에 시스템의 "그림"이 있습니다 :
SomeFilter1 -> SomeFilter2 -> SomeFilter3 -> SomeFilter4
이제는 하나의 출력 대신 2 개의 출력이있는 종류의 필터가 있습니다. 나는 그것을 bifurcation
라고 부른다. 나는이 같은 것을 구현하고 싶습니다
|-> SomeFilter2 -> SomeFilter3
SomeFilter1 --|
|-> SomeFilter4
: 는 여기 bifurcation
있는 시스템의 예입니다
PipeFilter pipeFilter = PipeFilter.StartBuild()
.AddFilter(new SomeFilter1())
.AddBifurcation()
.Output1()
.AddFilter(new SomeFilter2())
.AddFilter(new SomeFilter3())
.Output2()
.AddFilter(new SomeFilter4())
.Build();
그러나 나는 바로 그것을 얻을 수없는 것 같다. 이것을 할 수 있습니까? 첫 번째 예에서는 PipeFilterBuilder
(PipeFilter.StartBuild()
에 의해 반환 됨)이 필요했습니다. 이 두 번째 예제에서는 믹스에 포함시킬 다른 종류의 빌더를 만들려고 시도했지만 아무 소용이없는 것 같습니다.
언급하는 것을 잊었을 때, 나는 원하는 곳 어디에서나 분기점을 중첩시킬 수 있다는 생각을 들었습니다. 즉, 나뭇 가지로 가득 찬 "나무"를 얻을 수있었습니다.
아무도 도움이 될 수 있습니까?