이 시나리오에 적합한 패턴을 찾고 있습니다.병렬 실행 체인 연결 명령
이런 방식으로 HDD의 프로세스 파일이 필요합니다.
- 로드 파일
- 이 결과를
- 가져 오기 파일을 분석을 기반으로 파일을
- 검증 파일을 분석하여 향후 변화 될 수 있습니다 검증 결과
이 프로세스를 기반으로 앱.
제 아이디어는 각 파일 작업 (명령 패턴)에 대한 create 명령입니다.
- LoadFileCommand는 :
- AnalyzeFileCommand IFileCommand : IFileCommand를
- ValidateFileCommand : IFileCommand
- ImportFileCommand : IFileCommand
코드 :
public interface IFileCommand
{
FileCommandResult Execute();
void Abort();
}
public class FileCommandResult
{
FileInfo File{get;}
bool Sucesss{get;}
string Error{get;}
}
내가 명령으로 프로세스를 생성해야합니다 s (명령이있는 체인).
나는이 목적으로 사용하려고 시도한다. 패턴의 체인이 좋지만 아마도 더 좋은 패턴이나 디자인이있을 수 있습니다.
가능하다면 Rx를 사용하고 병렬 실행도 좋을 것입니다.
나는이를 싶습니다
var data = new List<FileInfo>();
var process = new List<IFileCommand>{new LoadFileCommand(), new AnalyzeFileCommand(), new ValidateFileCommand(), new ImportFileCommand()};
var processor = new FileProcessor();
IEnumerable<IFileCommandResult> results = processor.Execute(process, data);
어떤 아이디어.
학교용입니까? 그냥 궁금해서. 내 대답보기 : http://stackoverflow.com/questions/27671917/how-to-use-yield-to-return-the-collection-of-item-in-parallel-block-or-task –
@DaveSexton : 학교 문제가 아닙니다. 당신의 대답은 스트림을 통해 파일을 읽는 것입니다. 내 주요 문제는 명령을 연결하고 프로세스를 만드는 방법입니다. –
왜 나는 명령을 왜 필요로하는지 궁금합니다. –