candy-kingdom / summary

Flexible and effortless API reference generator for .NET.
MIT License
9 stars 0 forks source link

Design high-level architecture #13

Open joshua-light opened 1 year ago

joshua-light commented 1 year ago

Currently, a custom API reference generator can be build in a separate console application by composing different pipes together. As the time goes, more pipes will be added, hence, we should consider introducing a higher-level API layer (e.g. Pipeline object).

joshua-light commented 1 year ago

One of the things I'd like to point out is how we should combine common pipe compositions? E.g. a IPipe<string, Doc> is a quite natural pipe that parses specified source code into the document. This pipe can be composed from ParseSyntaxTreePipe and ParseDocumentPipe. Having to always write new ParseSyntaxTree().Then(new ParseDocumentPipe()) is a bit too much (considering the fact that there will be much more pipes and their useful combinations).