TPL DataFlow 라이브러리는 내 응용 프로그램에 매우 유용합니다. 나는 약 10 블록을 가지고 있고 카운트가 증가 할 것이라고 나는 생각한다.TPL DataFlow 및 아키텍처 디자인
내 응용 프로그램의 프로토 타입을 만들 때 기능 디자인을 이해했기 때문에 혼란 스러웠습니다.
void BIG_WORKFLOW_METHOD()
{
...
var block1 = new TransformBlock<string, string>(...);
var block2 = new TransformBlock<string, string>(...);
var block3 = new TransformManyBlock<string, string>(...);
var broadCastBlock = new BroadcastBlock<EventObject>(ev => ev);
...
var block9 = new ActionBlock<string>(...);
var block10 = new ActionBlock<EventObject>(...);
block1.LinkTo(block2);
block2.LinkTo(block3);
block3.LinkTo(block4);
broadCastBlock.LinkTo(block5);
broadCastBlock.LinkTo(block6);
...
}
큰 워크 플로 메서드를 OOP 디자인으로 변환해야합니다. 나중에 워크 플로에서 단계를 추가하거나 제거 할 수 있기를 원합니다. 누군가 그 일을 해결할 수 있습니까?
워크 플로에 가장 적합한 아키텍처는 상태 디자인 패턴이라고 생각하지만 TPL DataFlow는 이미이 패턴을 사용하고 있으며 이는 과도한 설계자가 될 것입니다.